oracle - تركيب سلسلة الاتصال ل كلاسيك أدو / أودبك / أوراكل 10G إزكونكت





vba excel-vba ado access-vba (4)


على غرار "user1206604 الجواب - أقوم بإعداد اتصال أودبك باستخدام أودبك مصدر مصدر البيانات (على سبيل المثال سوف نطلق عليه اسم" ديمو ") والاتصال مثل هذا:

Dim conn As New adodb.Connection
Set conn = New adodb.Connection

connStr = "Provider=OraOLEDB.Oracle;Data Source=DEMO;User Id=yourUserID;Password=yourPassword;"
conn.Open connStr

Dim api As New adodb.Recordset
Set api = New adodb.Recordset

yourQueryString = "SELECT foo FROM bar"
api.Open yourQueryString, conn, adOpenDynamic, adLockReadOnly 
'adjust above setting as needed

while not api.EOF
  'do interesting stuff here
wend

'clean up resources
api.Close
Set api = Nothing

conn.Close
Set conn = Nothing

تم العثور على مسؤول مصدر بيانات أودبك (على الجهاز الخاص بي) في قائمة ابدأ> البرامج> أوراكل - oraClient10g> تكوين وأدوات الترحيل> ميكروسوفت أودبك أدمينيستراتور ويشبه هذا:

أحاول ربط مختلف مشاريع فبا إلى أوراكل 10G نهاية النهاية باستخدام أدو (2.8) وليس تنس. بعد محاولات مختلفة، قررنا أن أبسط سلسلة من الخطوات لتثبيت نظيف تشمل ما يلي:

  1. إعداد عميل أوراكل الفوري
  2. تثبيت برنامج تشغيل أودبك المصاحب
  3. (اختبار الاتصال باستخدام إزكونكت عبر سكل زائد)
  4. (اختبار الاتصال عن طريق إنشاء ويندوز دسن)

كل شيء حتى هنا يعمل بشكل جيد. المشكلة، لا أستطيع معرفة بناء الجملة ليقول أدو لاستخدام برنامج تشغيل أودبك عميل فوري ، الذي يظهر في قائمة برنامج تشغيل أودبك الخاص بي ك "أوراكل في ميتست" (لا علامات اقتباس). استخدام برنامج تشغيل أودبك مسفت مع إزكونيكت كما يوحي هذا المنصب لا يعمل أي أفضل مما كان عليه قبل إعداد العميل الفوري (أي القول، لا على الإطلاق). ولكن هذا المنصب يبدو أن تشير إلى أنه من الممكن، دون أن يذكر بالضبط كيف، و connectionstrings.com يخبرك فقط ما يبدو مصدر البيانات جزء من سلسلة مثل إي سوميوسر / سوميباسورد @ أسرفر: بورتنمبر / إنستانسنام

نسخة قصيرة: ما هو بناء الجملة بالضبط من سلسلة اتصال أدو الكلاسيكية الرجوع إلى عميل أودبك عميل فوري؟

شكرا مقدما لمساعدتكم. أخذني وقتا طويلا غبي للحصول على ...




جرب هذا واستبدل القيم حسب الاقتضاء:

Set Connection = CreateObject("ADODB.Connection")

blnTest = Connection.Open("Driver={Oracle in instantclient};Dbq=127.0.0.1:1521/SERVICENAMEHERE", "USERNAME", "PASSWORD")

إذا لم يعمل أوراكل في إنستانكلينت التحقق من HKEY_LOCAL_MACHINE \ سوفتوار \ أودبك \ ODBCINST.INI \ أودبك مفتاح تسجيل برامج التشغيل لمعرفة ما هي القيمة ل أوراكل إنستانت كلينت (قد يكون هناك رقم إصدار إلحاق).

إذا كان هذا لا يزال لا يعمل بالنسبة لك. ترك تعليق مع تفاصيل ما حدث وسأحاول ضبط الإجابة بالنسبة لك.




' Create a connection object.'
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection

' Create a recordset object.'
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

' Provide the connection string.'
Dim strConn As String
Dim str As String

'Use the SQL Server OLE DB Provider.'
strConn = "Driver=(Oracle in OraHome92);" & "Data Source=;Uid=;Pwd=;"

'Now open the connection.'
cn.Open strConn
With rs

    ' Assign the Connection object.'
    ActiveConnection = cn

    ' Extract the required records.'
    .Open "SELECT ", cn


End With



التالي ، مأخوذ من here ، لم يذكر هنا:

إذا كان عميل أوراكل 32 بت ، فسوف يحتوي على مجلد "lib"؛ ولكن إذا كان عميل أوراكل 64 بت ، فسيكون لديه مجلدان "lib" و "lib32".

أيضًا ، بدءًا من Oracle 11.2.0.1 ، يتم شحن إصدار العميل لـ 64 بت وعميل Oracle 32 بت على حدة ، كما يوجد دليل $ ORACLE_HOME / lib64.

$ ORACLE_HOME / lib / ==> 32 بت $ ORACLE_HOME / lib64 ==> 64 بت

أو

$ ORACLE_HOME / lib / ==> 64 بت $ ORACLE_HOME / lib32 ==> 32 بت





oracle vba excel-vba ado access-vba