اختر لونك:
وَقُلِ اعْمَلُوا فَسَيَرَى اللَّهُ عَمَلَكُمْ وَرَسُولُهُ وَالْمُؤْمِنُونَ ۖ وَسَتُرَدُّونَ إِلَىٰ عَالِمِ الْغَيْبِ وَالشَّهَادَةِ فَيُنَبِّئُكُم بِمَا كُنتُمْ تَعْمَلُونَ [ التوبة : ( 105 )] كلمة الإدارة

يرجى إختيار القسم المناسب قبل النشر وسيعاقب المخالف بإنذار أول مرة وسيتم حظره إذا تكرر ذلك كلمة الإدارة

يُمنع كتابة مواضيع السحر والشعوذة والروحانيات والابراج بكافة الأشكال والمخالف سيعاقب بحظر مؤقت وإذا تكرر سيكون حظر دائم تنبيه هام جداً



أضف رد جديد
 
LinkBack أدوات الموضوع انواع عرض الموضوع

قديم 04-03-2019, 05:00 PM   #1
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
تاريخ التسجيل: Feb 2019
الدولة: قلب ابي
العمر: 31
المشاركات: 1,006
التقييم: 10
افتراضي تحويل قاعدة بيانات من اكسس الى sql

الاصدقاء الاكارم السلام عليكم و رحمة الله و بركاته تحية طيبة

في هذا التطبيق سنتحدث عن تحويل قاعدة بيانات اكسس الى sql برمجيا

حيث سنقوم بانشاء قاعدة البيانات على السيرفر و تصدير الجداول لها باستخدام SQL scripts



ملاحظة هامة : العمل سيتم على SQL 2005 وما فوق

بعد البحث و التجريب وصلت الى كود يقوم بانشاء قاعدة بيانات SQL وتصدير كافة الجداول لها

Dim ConData As New ADODB.Connection
Dim Str_Data As String
Dim Str_Use As String
Dim TableName As String
Dim Tdf As TableDef


ConData.Open "Provider=SQLOLEDB;Integrated Security=SSPI;Initial Catalog=master;Data Source=HP-PC\SQLEXPRESS"

Str_Data = "Create database DB1"
Str_Use = "Use DB1"

ConData.Execute (Str_Data)
ConData.Execute (Str_Use)

For Each Tdf In CurrentDb.TableDefs
If Left(Tdf.Name, 4) <> "MSys" Then
If Len(Tdf.Connect) = 0 Then
DoCmd.TransferDatabase acExport, "ODBC Database", "ODBC;Driver={SQL Server};Server=HP-PC\SQLEXPRESS" & _
";Database=DB1" & ";Trusted_Connection=Yes", acTable, Tdf.Name, Tdf.Name
End If
End If
Next


الكود السابق يقوم بانشاء قاعدة بيانات باسم DB1 ويصدر كافة الجداول لها

عظيم جدا و تمام التمام لكن هناك مشكلة صغيرة جدا

المفاتيح الاساسية و الفهارس و العلاقات لم يتم تصديرها !!!!!! وبالتالي لن تعمل قاعدة البيانات ابدا

بحثت كثيرا و حاولت تعديل الكود السابق و لكن دون جدوى

لذلك كان لا بد من البحث عن طريقة اخرى لنصل للمطلوب و الطريقة هي انشاء الجداول و المفاتيح و الفهارس و العلاقات عن طريق اكواد SQL او ما يسمى SQL scripts , سيتسائل البعض كيف ذلك ؟؟

البداية :

عند الانتهاء من تصميم قاعدة البيانات سنستخدم معالج التكبير لمرة واحدة فقط من اجل الحصول على الكود او ملف SQL scripts وبعد ذلك سنضيف الكود الى ملف ونستخدم ذلك الملف متى اردنا

نفتح قاعدة البيانات التي نرغب بتحويلها و نضغط على ادوات قاعدة البيانات ثم نختار (خادم SQL)

1- انشاء قاعدة بيانات جديدة ( في هذا المثال اسم قاعدة البيانات test SQL 1 )

2- نحدد اسم السيرفر و اسم قاعدة البيانات المطلوبة ( الاتصال موثوق ) ( التالي )

3- نحدد كافة الجداول ( التالي )

4- نحدد ( فهارس - قواعد التحقق من الصحة - افتراضيات - علاقات الجداول ) و نستخدم (مشغلات عوضا عن DRI) ( التالي )

5- نحدد (عدم اجراء اية تغييرات للتطبيق) (انهاء)



سيبدا المعالج بترحيل كافة الجداول الى السيرفر

بعد الانتهاء نغلق برنامج الاكسس و نذهب الى برنامج SQL Server Management Studio (ملاحظة هذا البرنامج لادارة قواعد البيانات و يختلف عن برنامج SQL server )

نحدد السيرفر ونختار نوع المصادقة (حسابات ويندوز) ثم اتصال سيفتح البرنامج

نختار Databases ثم نحدد قاعدة البيانات المطلوبة

نضغط بالزر الايمن للفارة و نختار من القائمة Tasks ثم Generate Scripts

تظهر نافذة جديدة نختار منها التالي ونحدد قاعدة البيانات Test SQL 1 ثم التالي

تعدل الخيارات التالية:

include if not exists = false

script defaults = false

scripts extended properties = false

scripts owner = false

scripts full-text indexes = true

scripts indexes = true

ثم التالي

نحدد (tables) ثم التالي

نحدد كافة الجداول ثم انهاء و نضغط انهاء مرة اخرى

سيظهر لنا السكريبت الخاص بانشاء الجداول و المفاتيح و الفهارس و العلاقات

ننسخ الكود بشكل كامل و نحفظه ضمن ملف نصي نسميه مثلا (Test1)



نعود الى صديقنا الاكسس

ننشئ نموذجا جديدا ونضع فيه حقلي نص باسم (tservername - tdatabasename) وزر امر

نكتب الكود التالي في زر الامر

Dim ConData As New ADODB.Connection
Dim Str_Data As String
Dim Str_Use As String

' فتح الاتصال مع السيرفر
ConData.Open "Provider=SQLOLEDB;Integrated Security=SSPI;Initial Catalog=master;Data Source=" & Me.tservername

' انشاء قاعدة البيانات
Str_Data = "Create database " & Me.TDataBaseName
Str_Use = "Use " & Me.TDataBaseName

ConData.Execute (Str_Data)
ConData.Execute (Str_Use)

MsgBox "تم انشاء قاعدة البيانات بنجاح" & vbCrLf & "جاري تصدير الجداول", vbInformation + vbMsgBoxRight

' تنفيذ السكريبت ضمن قاعدة البيانات لانشاء الجداول و الفهارس و العلاقات
Shell "sqlcmd.exe -S " & Me.tservername & " -d " & Me.TDataBaseName & " -i " & CurrentProject.Path & "\test1.txt", 0

MsgBox "تم انشاء الجداول بنجاح", vbInformation

' اغلاق الاتصال
ConData.Close


طبعا الملف test1.txt يجب ان يكون في نفس مسار قاعدة البيانات

المرفق يختلف قليلا عن الشرح فهو يساعدك في اختيار السيرفر تلقائيا

اعتذر على الاطالة في الشرح

رابط البرنامج مع فيديو للشرح

http://www.mediafire.com/file/x14w1p4qbqewd4k/SQL1.rar

مهرة النجدية غير متواجد حالياً   اقتباس
أضف رد جديد

الكلمات الدلالية (Tags)
منتديات رحيل, رحيل, شبكة رحيل, r7il, r7il.com


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
نظرة شاملة على قاعدة بيانات ووردبريس مهرة النجدية قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 1 27-07-2019 11:05 PM
طريقة تساعدك علي نقل ووردبريس من خادم محلي إلى موقع حي raheel قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 25-03-2019 06:01 PM
ما هي طريقة إنشاء قاعدة بيانات MySQL raheel قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 25-03-2019 04:07 PM
تقليص قاعدة البيانات | أفضل الممارسات لتقليص قاعدة بيانات الووردبرس الخاصة بك القيصر قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 11-03-2019 09:23 AM
error establishing a database connection خطأ إنشاء اتصال بقاعدة البيانات القيصر قسم تطوير المواقع ومحركات البحث والسيو Seo والووردبريس WordPress 0 11-03-2019 09:08 AM


الساعة الآن 02:34 PM

 


Content Relevant URLs by vBSEO ©2010, Crawlability, Inc.