أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

إن المستعرض الذي تستخدمه غير معتمد

إنك تحتاج إلى تحديث المستعرض لاستخدام الموقع.

التحديث إلى أحدث إصدار من Internet Explorer

كيفية إنشاء اتصال أقل DSN SQL Server للجداول المرتبطة في Access

انتهاء دعم Office 2003

لقد أنهت شركة Microsoft دعم Office 2003 في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية892490
متقدمة: يتطلب ترميز الخبير إمكانية التشغيل المتداخل و مهارات متعددة المستخدمين.

يتم تطبيق هذا المقال فقط على قاعدة بيانات Microsoft Access (.accdb و mdb.).
مقدمة حول
توضح هذه المقالة كيفية إنشاء اتصال إلى Microsoft SQL Server للجداول المرتبطة في Microsoft Access لا يستخدم اسم مصدر بيانات (DSN). هذا يُعرف أيضاً أقل DSN الاتصال. تطبيق الأمثلة التي تحتوي على هذه المقالة إلى Microsoft Office Access 2007 Microsoft Office Access 2003 Microsoft Access 2002.
معلومات أخرى
يمكنك استخدام DSN لإنشاء جداول ملقم SQL المرتبط في Microsoft Access. ولكن عند نقل قاعدة البيانات إلى كمبيوتر آخر يجب إعادة إنشاء DSN على ذلك الكمبيوتر. قد يكون هذا الإجراء مشكوك عندما يكون لديك تنفيذ على أكثر من جهاز كمبيوتر. عندما لا يتم تنفيذ هذا الإجراء بشكل صحيح, قد لا تتمكن الجداول المرتبطة من تحديد موقع DSN. لذلك، الجداول المرتبطة قد يتعذر الاتصال بـ SQL Server.

عندما تريد إنشاء ارتباط إلى جدول ملقم SQL ولكن لا تريد رمز القرص الثابت DSN في مربع الحوار Data Sources استخدم إحدى الطرق التالية لإنشاء اتصال أقل DSN بـ SQL Server.

الأسلوب 1: استخدام أسلوب CreateTableDef

أسلوب CreateTableDef يتيح لك إنشاء جدول مرتبط. لاستخدام هذا الأسلوب إنشاء وحدة نمطية جديدة ثم قم بإضافة دالة AttachDSNLessTable التالية إلى وحدة نمطية جديدة.
'//Name     :   AttachDSNLessTable'//Purpose  :   Create a linked table to SQL Server without using a DSN'//Parameters'//     stLocalTableName: Name of the table that you are creating in the current database'//     stRemoteTableName: Name of the table that you are linking to on the SQL Server database'//     stServer: Name of the SQL Server that you are linking to'//     stDatabase: Name of the SQL Server database that you are linking to'//     stUsername: Name of the SQL Server user who can connect to SQL Server, leave blank to use a Trusted Connection'//     stPassword: SQL Server user passwordFunction AttachDSNLessTable(stLocalTableName As String, stRemoteTableName As String, stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String)    On Error GoTo AttachDSNLessTable_Err    Dim td As TableDef    Dim stConnect As String        For Each td In CurrentDb.TableDefs        If td.Name = stLocalTableName Then            CurrentDb.TableDefs.Delete stLocalTableName        End If    Next          If Len(stUsername) = 0 Then        '//Use trusted authentication if stUsername is not supplied.        stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes"    Else        '//WARNING: This will save the username and the password with the linked table information.        stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUsername & ";PWD=" & stPassword    End If    Set td = CurrentDb.CreateTableDef(stLocalTableName, dbAttachSavePWD, stRemoteTableName, stConnect)    CurrentDb.TableDefs.Append td    AttachDSNLessTable = True    Exit FunctionAttachDSNLessTable_Err:        AttachDSNLessTable = False    MsgBox "AttachDSNLessTable encountered an unexpected error: " & Err.DescriptionEnd Function
للاتصال الدالة AttachDSNLessTable إضافة تعليمة برمجية مشابهة إلى أحد أمثلة التعليمات البرمجية التالية في ماكرو AutoExec أو في حدث Form_Open نموذج بدء التشغيل:
  • عند استخدام ماكرو AutoExec استدعاء دالة AttachDSNLessTable ومن ثم تمرير المعلمات مشابهة لما يلي من الإجراء RunCode.
        AttachDSNLessTable ("authors", "authors", "(local)", "pubs", "", "")
  • عند استخدام نموذج بدء التشغيل إضافة تعليمة برمجية مشابهة لما يلي الحدث Form_Open.
    Private Sub Form_Open(Cancel As Integer)    If AttachDSNLessTable("authors", "authors", "(local)", "pubs", "", "") Then        '// All is okay.    Else        '// Not okay.    End IfEnd Sub
    ملاحظة يجب عليك ضبط منطق برمجة عند إضافة أكثر من جدول مرتبط إلى قاعدة بيانات Access.

الطريقة 2: استخدام أسلوب DAO.RegisterDatabase

أسلوب DAO.RegisterDatabase يسمح لك بإنشاء اتصال DSN في ماكرو AutoExec أو نموذج بدء التشغيل. على الرغم من أن هذا الأسلوب لا يزيل متطلبات اتصال DSN ، فإنه ساعدتك حل المشكلة عن طريق إنشاء اتصال DSN في التعليمات البرمجية. لاستخدام هذا الأسلوب إنشاء وحدة نمطية جديدة ثم قم بإضافة دالة CreateDSNConnection التالية إلى وحدة نمطية جديدة.
'//Name     :   CreateDSNConnection'//Purpose  :   Create a DSN to link tables to SQL Server'//Parameters'//     stServer: Name of SQL Server that you are linking to'//     stDatabase: Name of the SQL Server database that you are linking to'//     stUsername: Name of the SQL Server user who can connect to SQL Server, leave blank to use a Trusted Connection'//     stPassword: SQL Server user passwordFunction CreateDSNConnection(stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String) As Boolean    On Error GoTo CreateDSNConnection_Err    Dim stConnect As String        If Len(stUsername) = 0 Then        '//Use trusted authentication if stUsername is not supplied.        stConnect = "Description=myDSN" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr & "Trusted_Connection=Yes"    Else        stConnect = "Description=myDSN" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr     End If        DBEngine.RegisterDatabase "myDSN", "SQL Server", True, stConnect            '// Add error checking.    CreateDSNConnection = True    Exit FunctionCreateDSNConnection_Err:        CreateDSNConnection = False    MsgBox "CreateDSNConnection encountered an unexpected error: " & Err.Description    End Function
تحديث ملاحظة في حالة استدعاء الأسلوب RegisterDatabase مرة أخرى, DSN.

استدعاء دالة CreateDSNConnection ، أضف التعليمات البرمجية التي تشبه أحد أمثلة التعليمات البرمجية التالية في ماكرو AutoExec أو في حدث Form_Open نموذج بدء التشغيل:
  • عند استخدام ماكرو AutoExec استدعاء دالة CreateDSNConnection ومن ثم تمرير المعلمات مشابهة لما يلي من الإجراء RunCode.
        CreateDSNConnection ("(local)", "pubs", "", "")
  • عند استخدام نموذج بدء التشغيل إضافة تعليمة برمجية مشابهة لما يلي الحدث Form_Open.
    Private Sub Form_Open(Cancel As Integer)    If CreateDSNConnection("(local)", "pubs", "", "") Then        '// All is okay.    Else        '// Not okay.    End IfEnd Sub
ملاحظة هذا الأسلوب يفترض أنك قمت بالفعل بإنشاء جداول ملقم SQL المرتبط في قاعدة بيانات Access باستخدام "myDSN" DSN اسم.
ACC2002 ACC2003 ODBC Jet SQL Server VB VBA

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 892490 - آخر مراجعة: 03/26/2007 23:16:09 - المراجعة: 1.6

  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • kbmt kbprogramming kbconfig kbdatabase kbhowto kbinfo KB892490 KbMtar
تعليقات
id=1&t=">4050&did=1&t=">did=1&t=">html>