تعد Microsoft SQL Server وORACAL وSybase من أنظمة إدارة قواعد البيانات الشائعة حاليًا (RDMS) مع التحسين والتطوير المستمر لـ SQL Server، والدمج المثالي مع نظام تشغيل الشبكة Windows NT، فقد تم تصميمها لبرمجة بنية خادم العميل الموزعة. إنه يوفر بيئة تطوير جيدة وبالتالي يجذب المزيد والمزيد من الاهتمام.
Microsoft SQL Server هو نظام إدارة قواعد بيانات قابل للتطوير وعالي الأداء يوفر التكامل مع Windows NT Threading and Scheduling Services وPerformance Monitor وEvent Browser، وهو يعتمد على واجهة إدارة Windows ويوفر الوصول إلى البيانات البعيدة على خوادم متعددة والسحب المرئي والسحب - التحكم في الإسقاط لإدارة النسخ المتماثل وإدارة الخادم والتشخيص والضبط.
توفر كائنات الإدارة الموزعة (DMO) واجهة كائن لمحرك SQL Server وخدماته. SQL-DMO هو كائن أتمتة OLE 32 بت متوفر لأنظمة التشغيل Windows 95 وWindows NT، وهو معيار وطريقة للحفاظ على كائنات التطبيق المشتركة، وهو أسلوب برمجة يسمح للتطبيقات بإدارة الكائنات المشتركة للبيانات أو الوصول إليها. تم تطوير DMO باستخدام بنية OLE وهو يوفر تطبيقات متوافقة مع OLE مع واجهة لجميع وظائف إدارة SQL Server مما يتيح لمطوري البرامج الوصول مباشرة إلى كائنات بيانات SQL Server. يمكننا استخدام كائنات الإدارة الموزعة لتحقيق الوصول المباشر إلى SQL Server باستخدام أدوات البرمجة مثل Visual Basic وVisual FoxPro.
تتيح الأدوات التي يوفرها Microsoft SQL Server للعملاء الوصول إلى البيانات الموجودة على الخادم من خلال مجموعة متنوعة من الطرق. الجزء الأساسي من هذه الأدوات هو رمز Transact-SQL (معاملة SQL). Transact-SQL هو إصدار محسّن من لغة الاستعلام الهيكلية (SQL) الذي يوفر العديد من الميزات والوظائف الإضافية. باستخدام Transact-SQL، يمكنك إنشاء أجهزة قواعد البيانات وقواعد البيانات وكائنات البيانات الأخرى واستخراج البيانات من قواعد البيانات وتعديل البيانات وتغيير الإعدادات ديناميكيًا في SQL Server. لذلك، يؤدي استخدام Transact-SQL إلى تحسين التطبيق العملي بشكل كبير.
عندما نقوم بتطوير مشروع بنية العميل/الخادم، نحتاج إلى إنشاء بنية للعديد من كائنات البيانات. إذا كان المشروع الجاري تطويره لعميل معين، فمن الممكن إنشاء معدات قاعدة البيانات وقواعد البيانات والجداول يدويًا على الخادم، ولكن إذا عندما يتم إصدار المشروع قيد التطوير كبرنامج وليس لعميل معين، فمن غير الواقعي بلا شك إنشاء بنية كائن البيانات يدويًا، فنحن بحاجة إلى ترسيخ عملية إنشاء قواعد البيانات والجداول في البرنامج، وبشكل ديناميكي عند البرنامج قيد التشغيل بناء قواعد البيانات والجداول على الخادم. لذلك، يعد استخدام كائنات الإدارة الموزعة وTransact-SQL وسيلة مهمة لبرمجة بنية العميل/الخادم.
سوف يناقش ما يلي كيفية استخدام DMO وTransact-SQL في Visual Basic 5.0 لإنشاء أجهزة قواعد البيانات وقواعد البيانات وكائنات البيانات الأخرى على SQL Server. لنبدأ بالمشكلة المحددة: إنشاء أجهزة قاعدة بيانات 200M و400M Device_1 وDevice_2 على SQL Server. قم بإنشاء قاعدتي بيانات Db1 وDB2 بسعة 100M على Device_1 وDevice_2 على التوالي. قم بإنشاء جدول T_1 في قاعدة بيانات Db1. الاسم، العمر، الجنس، ID_Code، مع ID_Code كمفتاح والاسم كفهرس. قم بإنشاء الجدول T_2 في قاعدة بيانات Db2. هناك خمسة مجالات: الاسم، العمر، الجنس، القسم، لا، مع القسم ولا كمفاتيح. شخصية.
للوصول إلى SQL Server، يجب عليك أولاً فتح SQL Service Manager. يتم استخدام SQL Service Manager لبدء خدمات SQL Server وإيقافها مؤقتًا ومتابعتها وإيقافها، بما في ذلك MSSQLServer وSQLExecutive. يمكنك فتح هاتين الخدمتين يدويًا، أو يمكنك فتحهما من خلال سطر الأوامر في البرنامج.
إذا كنت تستخدم الطريقة اليدوية، فافتح SQL Service Manager، وقم مباشرة بتنشيط الضوء الأخضر لبدء/متابعة للخدمات MSSQLServer وSQLExecutive.
باستخدام طريقة بدء تشغيل أمر السطر، يمكنك استخدام أمر VB Shell:
X=shell("Sqlmgr.exe"،1) لعرض نافذة SQL Service Manager؛
X=shell("net start mssqlserver") يبدأ تشغيل خدمة MSSQLServer
X=shell("net start sqlexecutive") يبدأ خدمة SQLExecutive
لأننا هنا نأمل في إنشاء بنية كائن البيانات ديناميكيًا على SQL Server من خلال البرمجة، فمن المستحسن استخدام أسلوب الأمر السطر.
بعد بدء تشغيل SQL Server Manager، يمكننا استخدام DMO وTransact-SQL لإنشاء كائنات البيانات وفقًا للخطوات التالية.
1. لاستخدام DMO، تحتاج أولاً إلى فتح Reference في شريط أدوات VB وتحديد Microsoft Windows Common Control 5.0. إذا لم يتم العثور على هذا العنصر في الشريط المرجعي، فحدد Browse وقم بتغيير الدليل ضمن WINNTSystem32 Comctl32. تمت إضافة oca إلى المرجع.
2. قم بإنشاء كائن SQLOLE في ملف الوحدة النمطية (.BAS):
Global OSServer كـ SQLOLE.SQLServer جديد
3. إنشاء اتصال مع SQL Server:
OServer.Connect ServerName:=اسم SQL Server المسجل، تسجيل الدخول:=اسم تسجيل الدخول (عادةً sa)، كلمة المرور:=كلمة المرور
4. إنشاء أجهزة قاعدة البيانات Device_1 وDevice_2:
خافت Transql كسلسلة
Transql = "استخدم السيد" & _
"تهيئة القرص" & _
"الاسم='Device_1'،" & _
"Physname='D:SQLdatadevice1.dat'،" & _
"vdevno=10،" & _
"الحجم = 102400" & _
"تهيئة القرص" & _
"الاسم='الجهاز2'،" & _
"Physname='D:SQLdatadevice2.dat'،" & _
"vdevno=11،" & _
"الحجم = 204800"
الأمر OServer.ExecuteImmediate:=transql,exectype:=SQLOLEExec_Default
5. إنشاء قواعد البيانات Db_1 وDb_2:
transql = "إنشاء قاعدة بيانات Db_1 على Device_1=100"
الأمر OServer.ExecuteImmediate:=transql، exectype:=SQLOLEExec_Default
transql = "إنشاء قاعدة بيانات Db_2 على Device_2=100"
أمر OServer.ExecuteImmediate:=transql, exectype:=SQLOLEExec_Default
6. قم بإنشاء جدول في قاعدة البيانات:
إنشاء جدول T_1 في قاعدة البيانات Db_1:
Transql = "استخدم Db_1" & _
"إنشاء جدول T_1" & _
"(الاسم حرف (8) فارغ،" & _
"العمر الرقمي(2) فارغ،" & _
" الجنس الصغير لاغية " & _
"ID_Code char(16) ليس فارغًا،" & _
"القيد c_1 المفتاح الأساسي متفاوت المسافات (ID_Code))"
الأمر OServer.ExecuteImmediate:=transql,exectype:=SQLOLEExec_Default
قم بإنشاء فهرس في عمود الاسم بالجدول T_1:
transql="إنشاء فهرس_1 على T_1 (الاسم)"
الأمر OServer.ExecuteImmediate:=transql,exectype:=SQLOLEExec_Default
إنشاء جدول T_2 في قاعدة البيانات Db_2:
Transql = "استخدم Db_2" & _
"إنشاء جدول T_2" & _
"(الاسم حرف (8) فارغ،" & _
"العمر الرقمي(2) فارغ،" & _
" الجنس الصغير لاغية " & _
" قسم شار(16) ليس صفراً" & _
"لا يوجد حرف (4) ليس فارغًا،" & _
"القيد c_2 المفتاح الأساسي متفاوت المسافات (القسم، لا))"
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default
عند هذه النقطة، أكملنا أعمال الترميز لإنشاء كائن البيانات بعد تجميع البرنامج وتنفيذه، سيتم إنشاء جهاز قاعدة البيانات وقاعدة البيانات والجداول في المكتبة تلقائيًا على خادم SQL.
بالنسبة لجهاز قاعدة البيانات، يمكنك استخدام DISK REINIT وDISK REFIT وDISK RESIZE لتشغيله. إذا كنت ترغب في توسيع سعة جهاز قاعدة البيانات Device_1 إلى 200M، فيمكنك استخدام الطريقة التالية:
DISK RESIZE.
الاسم = 'Devive_1'،
الحجم = 102400
يمكن أيضًا تعديل وحذف بنية قاعدة البيانات والجداول المنشأة بالفعل على SQL Server من خلال DMO ومعاملة SQL. على غرار الترميز أعلاه، يمكنك استخدام عبارات SQL للمعاملات مثل Alter Database Db_1 وAlter DatabaseDb_2 وAlter Table T_1 وAlter Table T_2 لتعديل بنية قاعدة البيانات والجداول المنشأة، واستخدام عبارات معاملات Drop Database وDrop Table للحذف تم إنشاء قاعدة البيانات والجداول.
لقد ناقش ما سبق كيفية إنشاء بنية كائنات البيانات والوصول إليها ديناميكيًا على SQL Server. أما بالنسبة للوصول إلى محتويات قواعد البيانات والجداول على SQL Server، فيمكنك استخدام ODBC (اتصال قاعدة البيانات المفتوحة)، DAO (كائن الوصول إلى البيانات)، RDO. (كائنات البيانات البعيدة) أو مكتبة قاعدة البيانات للبرمجة.