منذ بعض الوقت، أثناء عملية المشروع، واجهنا مشاكل في مصادر البيانات عندما طلبنا تحميل البيانات ديناميكيًا من قواعد بيانات مختلفة، بالطبع، لا يمكن ربط جدول DBF بـ ADOQUERY (لم يتم تنزيل إصدار التصحيح، ولكنه تم تنزيله لاحقًا). وجدت أنه يمكن أيضًا توصيله) يجب أن يتم إنشاؤه باستخدام ODBC لإجراء معالجة الاتصال، يجب إنشاء ODBC ديناميكيًا للتخلص من إمكانية قيام المستخدمين بحذف ODBC أدناه، وسأكتب النموذج الأولي لوظيفة API والبيانات لإنشاء SQLSERVER وDBF الجداول للمشاركة (بالطبع لا يلزم إنشاء SQLSERVER في حالة ADO).
SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;
استخدم في حالة الاتصال:
وظيفة SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external 'ODBCCP32.DLL';
إنشاء SQLSERVER ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,'SQL Server','DSN=Record_ODBC'+ chr(0) +'Server=(local)'+ chr(0) +'Database=master'+ chr(0) +'Description=DragonPC مصدر SQLServer ODBC'+ chr(0));
{DSN: اسم مصدر بيانات ODBC الخاص بك.
الخادم: اسم خادم قاعدة البيانات الخاص بك استخدم (محلي) للإشارة إلى قاعدة البيانات المثبتة على جهاز الكمبيوتر المحلي الخاص بك. ملاحظة: يدعم أحدث إصدار من SQL Server 2000 جهاز كمبيوتر واحد يقوم بتشغيل خدمات SQL Server متعددة في هذا الوقت، تحتاج إلى تحديد InstanceName لـ SqlSever.
العنوان: حدد عنوان IP للشبكة لخادم SQL Server.
قاعدة البيانات: حدد اسم قاعدة البيانات الافتراضية.
اللغة: تحديد اللغة الافتراضية.
الوصف: معلومات الملاحظات. }
إنشاء جدول DBF ODBC:
SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, 'Microsoft Visual FoxPRo Driver' + CHR(0), 'dsn=SourceTable' + CHR(0) + 'BackgroundFetch=Yes' + CHR(0) + 'وصف=وصف الاتصال' + CHR (0) + 'حصريًا=لا' + CHR(0) +sourcedbstr + CHR(0) +'Sourcetype=DBF');
كل شيء آخر هو نفسه، باستثناء أن إنشاء جدول DBF وتصحيحه استغرق وقتًا طويلاً، وآمل ألا تضيع الوقت في كتابته.
ملحوظة: المحتوى أعلاه هو كمرجع فقط للمبتدئين الذين يواجهون مشكلات مماثلة.