تذكر الأيام الذهبية الشبابية عندما كان تعلم الأبجدية أمراً ممتعاً. احتفظ بهذه الأفكار السعيدة في عقلك بينما نتطلع على بعض الأذواق من إصدار قاعدة بيانات تعلم الأبجدية. توضح الأقسام التالية أساسيات الوصول إلى قاعدة البيانات باستخدام سلاسل الاتصال واستخدام واجهة برمجة قاعدة البيانات في التعليمات البرمجية لـ VBA في Access.
في هذه المقالة.
استخدام برنامج تشغيل ODBC أو موفر OLE DB
واجهة برمجياً إلى SQL Server من Access
استخدام برنامج تشغيل ODBC أو موفر OLE DB
كانت سلاسل الاتصال موجودة منذ وقت طويل. يمكنك تحديد سلسلة اتصال منسقة إما في واجهة مستخدم Access أو في التعليمات البرمجية لـ VBA. تعمل سلسلة الاتصال (سواء ODBC أو OLE DB) على تمرير المعلومات مباشرةً إلى قاعدة البيانات، مثل موقع الخادم واسم قاعدة البيانات ونوع الأمان والخيارات المفيدة الأخرى. على سبيل المثال:
ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;
في البداية، كان هناك SQL Server Native Client (SNAC) مكتبة قائمة بذاتها تحتوي على تقنيات ODBC وOLEDB ولا تزال متاحة لإصدارات SQL Server من 2005 إلى 2012. تستخدم العديد من التطبيقات القديمة SNAC ولا تزال مدعومة للتوافق مع الإصدارات السابقة، لكننا لا نوصي باستخدامها لتطوير تطبيق جديد. يجب عليك استخدام الإصدارات الفردية القابلة للتحميل لاحقاً من برامج تشغيل ODBC.
برامج تشغيل ODBC
اتصال قاعدة البيانات المفتوح (ODBC) هو بروتوكول يمكنك استخدامه لاتصال قاعدة بيانات Access بمصدر بيانات خارجي مثل Microsoft SQL Server. عادةً ما تستخدم مصادر بيانات الملف (وتسمى أيضاً ملفات DSN) لإضافة سلسلة اتصال، وفي هذه الحالة، يتم استخدام الكلمة الأساسية FILEDSN في سلسلة الاتصال، أو يتم تخزينها في السجل، وفي هذه الحالة، يتم استخدام الكلمة الأساسية DSN. وبدلاً من ذلك، يمكنك استخدام VBA لتعيين هذه الخصائص باستخدام سلسلة اتصال "DSN-less".
على مر السنين، تم نقل برامج تشغيل ODBC خلال ثلاث مراحل:
-
قبل عام 2005، كانت برامج تشغيل ODBC تأتي مع مكونات الوصول إلى البيانات (WDAC)، والتي كانت تسمى في الأصل مكونات الوصول إلى بيانات Microsoft (MDAC). لا تزال هذه المكونات تأتي مع Windows للتوافق مع الإصدارات السابقة. للحصول على مزيد من المعلومات، اطلع على مكونات Access لبيانات Windows أو Microsoft.
-
تأتي برامج تشغيل ODBC مع SNAC لـ SQL Server 2005 من خلال SQL Server 2012.
-
بعد SQL Server 2012، تم نقل برامج تشغيل ODBC بشكل فردي وتحتوي على دعم لميزات SQL Server الجديدة.
للتطوير الجديد، تجنب استخدام برامج تشغيل ODBC من المرحلتين الأوليين، واستخدم برامج تشغيل ODBC من المرحلة الثالثة.
موفرو OLE DB
قاعدة بيانات ربط العناصر وتضمينها (OLE DB) هي بروتوكول أحدث يمكنك استخدامه لاتصال قاعدة بيانات Access بمصدر بيانات خارجي مثل Microsoft SQL Server. لا يتطلب OLE DB وجود DSN ويوفر أيضاً إمكانية الوصول الكامل إلى مصادر بيانات ODBC وبرامج تشغيل ODBC.
تلميح بشكل عام، يمكنك استخدام مربع الحوار خصائص ارتباط البيانات لإضافة سلسلة اتصال OLE DB. على الرغم من أنه لا توجد طريقة من Access لفتح مربع الحوار خصائص ارتباط البيانات، في "مستكشف Windows"، يمكنك إنشاء ملف .txt فارغ وتغيير نوع الملف إلى .udl، ثم النقر نقراً مزدوجاً فوق الملف. بعد إنشاء سلسلة اتصال، يمكنك تغيير نوع الملف مرة أخرى إلى .txt.
على مر السنين، تم نقل موفري OLE DB خلال ثلاث مراحل:
-
قبل عام 2005، كانوا موفري OLE DB يأتون مع مكونات الوصول إلى البيانات (WDAC)، والتي كانت تسمى في الأصل مكونات الوصول إلى بيانات Microsoft (MDAC).
-
يأتي موفري OLE DB مع SQL Server 2005 من خلال SQL Server 2017. تم إهماله في 2011.
-
في 2017، كان موفر SQL Server OLE DB غير مهمل.
إن الإصدار المستحسن حالياً لتطوير الحل الجديد هو الإصدار 18 من برنامج تشغيل OLE DB لـ SQL Server.
كيفية تحسين الأداء باستخدام سلسلة اتصال ODBC
لتحسين الأداء وتقليل معدل نقل البيانات عبر الشبكة وتقليل إمكانية وصول العديد من المستخدمين إلى قاعدة بيانات SQL Server، استخدم أقل عدد ممكن من سلاسل الاتصال من خلال مشاركة سلاسل الاتصال عبر مجموعات سجلات متعددة. على الرغم من أن Ace ينقل ببساطة سلسلة اتصال إلى الخادم، إلا أنه يفهم الكلمات الأساسية التالية ويستخدمها: DSN وDATABASE وUID وPWD وDRIVER للمساعدة في تقليل اتصال العميل/الخادم.
ملاحظة إذا تم فقدان اتصال ODBC بمصدر بيانات خارجي، سيحاول Access تلقائياً إعادة الاتصال به. إذا نجحت إعادة المحاولة، يمكنك متابعه العمل. إذا فشلت إعادة المحاولة، فلا يزال بإمكانك العمل على العناصر التي لا تعتمد على الاتصال. لإعادة الاتصال، أغلق Access وأعد فتحه.
التوصيات عند استخدام كل من ODBC وOLE DB
تجنب خلط سلسلة الاتصال وتقنيات الوصول إلى قاعدة البيانات. استخدم سلسلة اتصال ODBC لـ DAO. استخدم سلسلة اتصال OLE DB لـ ADO. إذا كان التطبيق يحتوي على تعليمات برمجية لـ VBA تستخدم كلاً من DAO وADO، فاستخدم برنامج تشغيل ODBC لـ DAO وموفر OLE DB لـ ADO. قم بالسعي للحصول على أحدث ميزة ودعم لكل من ODBC وOLEDB على التوالي.
يستخدم ODBC برنامج تشغيل المصطلحات ويستخدم OLE DB موفر المصطلحات. تصف المصطلحات نفس نوع مكون البرنامج ولكنها غير قابلة للتبديل في بناء جملة سلسلة الاتصال. استخدم القيمة الصحيحة كما هي موثقة.
واجهة برمجياً إلى SQL Server من Access
هناك طريقتان رئيسيتان لبرمجة واجهة إلى قاعدة بيانات SQL Server من Access.
DAO
يوفر عنصر الوصول إلى البيانات (DAO) واجهة مجردة إلى قاعدة بيانات. إن عناصر الوصول إلى البيانات في Microsoft (DAO) هي نموذج عنصر البرمجة الأصلي الذي يتيح لك الوصول إلى قلب Access وSQL Server لإنشاء وحذف وتعديل وإدراج العناصر والجداول والحقول والفهارس والعلاقات والاستعلامات والخصائص وقواعد البيانات الخارجية.
للحصول علي مزيد من المعلومات، اطلع على مرجع عناصر Access لبيانات Microsoft.
ADO
توفر كائنات بيانات ActiveX (ADO) نموذج برمجة عالي المستوى ويتوفر في Access بواسطة مرجع إلى مكتبة تابعة لجهة خارجية. يعتبر ADO واضح ومباشر للتعلم ويمكّن تطبيقات العميل من الوصول إلى البيانات ومعالجتها من مجموعة متنوعة من المصادر، بما في ذلك Access وSQL Server. تتمثل فوائده الأساسية في سهولة الاستخدام والسرعة العالية والعبء المنخفض للذاكرة ومساحة القرص الصغيرة. يدعم ADO أيضاً الميزات الأساسية للإنشاء والتطبيقات المستندة إلى الويب.
للحصول على مزيد من المعلومات، اطلع على مرجع كائنات بيانات Microsoft ActiveX وكائنات بيانات Microsoft ActiveX (ADO).
أي الموقعين يجب عليك استخدامه؟
في حل Access الذي يستخدم التعليمات البرمجية لـ VBA، يمكنك استخدام DAO أو ADO أو كليهما كتقنية واجهة قاعده البيانات. يستمر DAO ليكون الإعداد الافتراضي في Access. على سبيل المثال، تستخدم كل النماذج والتقارير والاستعلامات Access DAO. ولكن عند الترحيل إلى SQL Server، يمكنك استخدام ADO لجعل الحل أكثر فعالية. فيما يلي إرشادات عامة لمساعدتك على تحديد وقت استخدام DAO أو ADO.
استخدم DAO عندما تريد القيام بما يلي:
-
إنشاء نموذج للقراءة/الكتابة مرتبط بدون استخدام VBA.
-
الاستعلام عن الجداول المحلية.
-
تنزيل البيانات إلى الجداول المؤقتة.
-
استخدام الاستعلامات التمريرية كمصادر بيانات للتقارير أو النماذج في وضع القراءة فقط.
-
تعريف عنصر TableDef أو Querydef واستخدامه في VBA.
استخدم ADO عندما تريد القيام بما يلي:
-
الاستفادة من طرق إضافية لتحسين الأداء، مثل إجراء عمليات غير متزامنة.
-
تشغيل الاستعلامات التمريرية لـ DDL وDML.
-
الوصول إلى بيانات SQL Server مباشرةً من خلال مجموعات السجلات في VBA.
-
كتابة تعليمات برمجيات بسيطة لمهام معينة، مثل تدفق Blobs.
-
استدعاء إجراء مخزن مباشرةً، مع المعلمات، وذلك باستخدام عنصر الأوامر في VBA.
ملخص إصدارات برنامج تشغيل ODBC
يلخص الجدول التالي المعلومات المهمة حول إصدارات برامج تشغيل ODBC ومواقع التنزيل ودعم الميزات. تأكد من استخدام إصدار البت الصحيح (64 بت أو 32 بت) لبرنامج التشغيل استناداً إلى Windows وليس Office. إذا كنت تقوم بتشغيل الإصدار 32 بت من Access على الإصدار 64 بت من Windows، فقم بتثبيت برامج تشغيل 64 بت، والتي تتضمن مكونات 32 بت اللازمة لـ Access.
للحصول على مزيد من المعلومات، اطلع على استخدام الكلمات الأساسية لسلسلة الاتصال باستخدام SQL Server Native Client، وملاحظات حول إصدار ODBC إلى SQL Server على Windows (الإصدار 17)، وميزات برنامج تشغيل Microsoft ODBC لـ SQL Server على Windows (الإصدارين 13 و11).
برامج تشغيل ODBC |
الإصدار |
تنزيل |
الميزات الجديدة |
برامج تشغيل ODBC من 17.0 إلى 17.3 |
SQL Server 2017 |
برنامج تشغيل ODBC 17.3 استخدام Azure Active Directory باستخدام برنامج تشغيل ODBC قيود برنامج تشغيل ODBC عند استخدام التشفير الدائم برنامج تشغيل ODBC 17.2 استخدام التشفير الدائم باستخدام برنامج تشغيل ODBC لـ SQL Server ترتيب ترميز خادم UTF-8 ودعم Unicode برنامج تشغيل ODBC 17.1 استخدام التشفير الدائم باستخدام برنامج تشغيل ODBC لـ SQL Server برنامج تشغيل ODBC 17.0 UseFMTONLY لاستخدام بيانات التعريف القديمة في الحالات الخاصة التي تتطلب جداول مؤقتة. اطلع على ملاحظات حول إصدار ODBC إلى SQL server في Windows |
|
برنامج تشغيل ODBC 13.1 |
SQL Server 2016 SP1، SQL Azure |
تجمع اتصالات التعرّف على برامج التشغيل في برنامج تشغيل ODBC لنظام SQL Server |
|
برنامج تشغيل ODBC 13.0 |
SQL Server 2016 |
أسماء المجالات الدولية (IDN) |
|
برنامج تشغيل ODBC 11.0 |
SQL Server 2005 إلى 2012 |
تجمع الاتصالات لمعرفة برامج التشغيل مرونة الاتصال في برنامج تشغيل Windows ODBC |
ملخص إصدارات موفر OLE DB
يلخص الجدول التالي المعلومات المهمة حول إصدارات موفري OLE DB ومواقع التنزيل ودعم الميزات. تأكد من استخدام إصدار البت الصحيح (64 بت أو 32 بت) لبرنامج التشغيل استناداً إلى Windows وليس Office. إذا كنت تقوم بتشغيل الإصدار 32 بت من Access على الإصدار 64 بت من Windows، فقم بتثبيت برامج تشغيل 64 بت، والتي تتضمن مكونات 32 بت اللازمة لـ Access.
للحصول على مزيد من المعلومات، اطلع على استخدام الكلمات الأساسية لسلسلة الاتصال باستخدام SQL Server Native Client
موفر OLE DB |
الإصدار |
تنزيل |
الميزات الجديدة |
برنامج تشغيل OLE DB 18.2.1 (MSOLEDBSQL) |
SQL Server 2017 |
اطلع على برنامج تشغيل OLE DB لميزة SQL Server وملاحظات الإصدار الخاصة ببرنامج تشغيل Microsoft OLE DB لـ SQL Server |
|
SQL Server Native Client (SQLNCLI) |
SQL Server 2005 إلى 2012 |
مهملة، لا تُستخدم |
|
برنامج تشغيل OLE DB (SQLOLEDB) |
مهملة، لا تُستخدم |
ملخص الكلمات الأساسية في ODBC
يلخص الجدول التالي الكلمات الأساسية لـ ODBC التي تم التعرف عليها بواسطة SQL Server والغرض منها. يمكن التعرّف على مجموعة فرعية فقط من خلال Access.
الكلمة الأساسية |
الوصف |
العنوان |
عنوان الشبكة لخادم يقوم بتشغيل مثيل SQL Server. |
AnsiNPW |
يحدد استخدام السلوكيات المحددة من ANSI لمعالجة مقارنات القيم NULL والمسافات البادئة لبيانات الأحرف والتحذيرات وتسلسل القيم NULL (نعم أو لا). |
تطبيق |
اسم التطبيق الذي يستدعي SQLDriverConnect. |
ApplicationIntent |
يقوم بتعريف نوع حمل العمل للتطبيق عند الاتصال بخادم (ReadOnly أو ReadWrite). |
AttachDBFileName |
اسم الملف الأساسي لقاعدة البيانات القابلة للإرفاق. |
AutoTranslate |
يحدد ما إذا كان يتم إرسال سلاسل أحرف ANSI بين العميل أو الخادم، أو تتم ترجمتها إلى Unicode (نعم أو لا). |
قاعدة بيانات |
اسم قاعدة البيانات. الوصف الغرض من الاتصال. برنامج التشغيل اسم برنامج التشغيل الذي تم إرجاعه بواسطة SQLDrivers. |
DSN |
اسم مستخدم أو مصدر بيانات نظام لـ ODBC موجود. التشفير يحدد ما إذا كان يجب تشفير البيانات قبل إرسالها عبر الشبكة (نعم أو لا). |
Failover_Partner |
اسم خادم شريك تجاوز الفشل المطلوب استخدامه في حالة تعذر إجراء اتصال بالخادم الأساسي. |
FailoverPartnerSPN |
SPN لشريك تجاوز الفشل. |
البديل |
كلمه أساسية مهملة. |
FileDSN |
اسم مصدر بيانات ملف ODBC موجود. اللغة لغة SQL Server. |
MARS_Connection |
يحدد مجموعات النتائج النشطة المتعددة (MARS) في الاتصال لـSQL Server 2005 (9.x) أو الإصدار الأحدث (نعم أو لا). |
MultiSubnetFailover |
يحدد ما إذا كان يجب الاتصال بمستمعي مجموعة الإتاحة لمجموعة توفر SQL Server أو مثيل خادم تجاوز الفشل (نعم أو لا). |
Net |
يشير dbnmpntw إلى توجيهات الإخراج المسماة و dbmssocn إلى TCP/IP. |
PWD |
كلمة مرور تسجيل دخول SQL Server. |
QueryLog_On |
يحدد تسجيل الاستعلامات التي تستغرق وقتاً طويلاً (نعم أو لا). |
QueryLogFile |
المسار الكامل واسم الملف لملف لاستخدامه في تسجيل البيانات في الاستعلامات التي يتم تشغيلها لفترة طويلة. |
QueryLogTime |
سلسلة الأحرف الرقمية التي تحدد العتبة (بالمللي ثانية) لتسجيل الاستعلامات التي يتم تشغيلها لفترة طويلة. |
QuotedId |
يحدد ما إذا كان SQL Server يستخدم قواعد ISO فيما يتعلق باستخدام علامات الاقتباس في عبارات SQL (نعم أو لا). |
إقليمي |
يحدد ما إذا كان برنامج تشغيل SQL Server Native Client ODBC يستخدم إعدادات العميل عند تحويل بيانات العملة أو التاريخ أو الوقت إلى بيانات الأحرف (نعم أو لا). |
SaveFile |
اسم ملف مصدر بيانات ODBC يتم فيه حفظ سمات الاتصال الحالي في حالة نجاح الاتصال. |
الخادم |
اسم مثيل SQL Server: الاسم المستعار لخادم على الشبكة أو عنوان IP أو إدارة التكوين. |
ServerSPN |
SPN للخادم. |
StatsLog_On |
يمكّن الحصول على بيانات أداء برنامج تشغيل ODBC لـSQL Server Native Client. |
StatsLogFile |
المسار الكامل واسم الملف لملف المستخدم لتسجيل إحصائيات أداء برنامج تشغيل ODBC لـ SQL Server Native Client. |
Trusted_Connection |
يقوم بتحديد ما إذا كان يتم استخدام اسم المستخدم أو كلمة مرور SQL Server أو وضع مصادقة Windows للتحقق من صحة تسجيل الدخول (نعم أو لا). |
TrustServerCertificate |
عند استخدام الميزة "تشفير"، يمكّن التشفير باستخدام شهادة خادم موقعة ذاتياً. |
UID |
اسم تسجيل دخول SQL Server. |
UseProcForPrepare |
كلمه أساسية مهملة. |
WSID |
معرّف محطة العمل، اسم شبكة الكمبيوتر الذي يوجد عليه التطبيق. |
ملخص الكلمات الأساسية في OLE DB
يلخص الجدول التالي الكلمات الأساسية لـ OLE DB التي تم التعرف عليها بواسطة SQL Server والغرض منها. يمكن التعرّف على مجموعة فرعية فقط من خلال Access.
الكلمة الأساسية |
الوصف |
العنوان |
عنوان الشبكة لخادم يقوم بتشغيل مثيل SQL Server. |
تطبيق |
السلسلة التي تعرّف التطبيق. |
ApplicationIntent |
يقوم بتعريف نوع حمل العمل للتطبيق عند الاتصال بخادم (ReadOnly أو ReadWrite). |
AttachDBFileName |
اسم الملف الأساسي لقاعدة البيانات القابلة للإرفاق. |
AutoTranslate |
يعمل على تكوين ترجمة أحرف OEM/ANSI (صواب أو خطأ). |
مهلة الاتصال |
الفترة الزمنية (بالثواني) لانتظار اكتمال تهيئة مصدر البيانات. |
اللغة الحالية |
اسم لغة SQL Server. |
مصدر البيانات |
اسم مثيل SQL Server في المؤسسة. |
قاعدة بيانات |
اسم قاعدة البيانات. |
DataTypeCompatibility |
رقم يشير إلى وضع معالجة نوع البيانات الذي سيتم استخدامه. |
التشفير |
يحدد ما إذا كان يجب تشفير البيانات قبل إرسالها عبر الشبكة (نعم أو لا). |
FailoverPartner |
اسم خادم تجاوز الفشل المستخدم لنسخ قاعده البيانات. |
FailoverPartnerSPN |
SPN لشريك تجاوز الفشل. |
كتالوج الأولي |
اسم قاعدة البيانات. |
اسم الملف الأولي |
اسم الملف الأساسي (يتضمن اسم المسار الكامل) لقاعدة البيانات القابلة للإرفاق. |
الأمان المتكامل |
يتم استخدامه لمصادقة Windows (SSPI). |
اللغة |
لغة SQL Server. |
MarsConn |
يحدد مجموعات النتائج النشطة المتعددة (MARS) في الاتصال لـSQL Server 2005 (9.x) أو الإصدار الأحدث (نعم أو لا). |
Net |
تستخدم مكتبة الشبكات لإنشاء اتصال بمثيل SQL Server في المؤسسة. |
عنوان الشبكة |
عنوان الشبكة لمثيل SQL Server في المؤسسة. |
PacketSize |
حجم حزمة الشبكة. الإعداد الافتراضي هو 4096. |
معلومات الأمان المستمر |
تحدد ما إذا كان الأمان المستمر ممكّناً (صواب أو خطأ). |
PersistSensitive |
يحدد ما إذا كانت الحالات الحساسة المستمرة ممكّنة (صواب أو خطأ). |
الموفر |
بالنسبة لعميل SQL Server الأصلي، يجب أن يكون SQLNCLI11. |
PWD |
كلمة مرور تسجيل دخول SQL Server. |
الخادم |
اسم مثيل SQL Server: الاسم المستعار لخادم على الشبكة أو عنوان IP أو إدارة التكوين. |
ServerSPN |
SPN للخادم. |
المهلة |
الفترة الزمنية (بالثواني) لانتظار اكتمال تهيئة مصدر البيانات. |
Trusted_Connection |
يقوم بتحديد ما إذا كان يتم استخدام اسم المستخدم أو كلمة مرور SQL Server أو وضع مصادقة Windows للتحقق من صحة تسجيل الدخول (نعم أو لا). |
TrustServerCertificate |
يحدد ما إذا تم التحقق من صحة شهادة خادم (صواب أو خطأ). |
UID |
اسم تسجيل دخول SQL Server. |
استخدام تشفير البيانات |
يحدد ما إذا كان يجب تشفير البيانات قبل إرسالها عبر الشبكة (صواب أو خطأ). |
UseProcForPrepare |
كلمه أساسية مهملة. |
WSID |
معرّف محطة العمل، اسم شبكة الكمبيوتر الذي يوجد عليه التطبيق. |