• 0
mrnooo2000

ربط الاكسس بقاعدة بيانات MYSQL

سؤال

اخوانى الكرام

نظرا لتعدد الاسئلة عن طريقة ربط الاكسس بقاعدة بيانات MYSQL فرأيت ان اضع هذا الموضوع

بالتأكيد هناك مميزات كثيرة لاستخدام قاعدة بيانات MYSQL بدلا من الاكسس و لسنا هنا لسرد تلك الميزات

1- الادوات المطلوبة :-

اولا نحتاج الى MYSQL DRIVER ,SERVER,MYSQL CONNECTOR

بالنسبة للسيرفر و الدريفر

احث اصدارات MYSQL هو الاصدار 5.1 و يمكن الحصول عليه من الموقع الرسمى مجانا

http://www.mysql.com/downloads/mysql/

و نحتاج الى سيرفر محلى و الاشهر هو APACHE و يمكن الحصول على اخر اصداراته من

http://httpd.apache.org/download.cgi

و بدلا من ذلك فالافضل هو استخدام برنامج WAMP SERVER

فهو يضم MYSQL DRIVER ,APACHE SERVER بالاضافة الى PHP

http://www.wampserver.com/en/download.php

قم بتثبيت البرنامج

و بالنسبة لل CONNECTOR

يمكنك الحصول على النسخة المناسبة من

http://dev.mysql.com/downloads/connector/odbc/

و قم بتثبيته

و لتحويل قاعدة بيانات اكسس الى MYSQL استخدم هذا البرنامج

http://www.bullzip.com/products/a2m/info.php

و قم بتثبيته

الخطوات :-

1- شغل الWAMP SERVER من قائمة البرامج

2- اذا كانت لديك قاعدة البانات (MYSQL) ضعها فى المجلد التالى

C:\wamp\bin\mysql\mysql5.1.33\data

على اعتبار انك ثبت السيرفر على ال C

و اذا كانت لديك قاعدة بيانات اكسس تريد تحويلها

شغل برنامج BULLZIP و هو سيقوم بالمطلوب

الان اصبحت الامور جاهزة لعملية الربط

وامامنا طريقتان للربط

الاولى بربط الجداول

و الثانية برمجيا

الطريقة الاولى : (ربط الجداول )

و هذه الطريقة نربط فيها الجداول من قاعدة البيانات الى الاكسس كما لو كنا نقسم قاعدة بيانات الاكسس الى جزئين و لكن بالتأكيد طريقة الربط ستختلف قليلا

الشرح موجود بملف الوورد

الان الطريقة الثانية

يمكن اتمام عملية الربط برمجيا كالتالى

ضع هذا الكود فى النموذج

Dim strDatabaseName As String
Dim strDBCursorType As String
Dim strDBLockType As String
Dim strDBOptions As String
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection

Private Function ConnectString() As String
Dim strServerName As String
Dim strDatabaseName As String
Dim strUserName As String
Dim strPassword As String

'Change to IP Address if not on local machine
'Make sure that you give permission to log into the
'server from this address
'See Adding New User Accounts to MySQL
'Make sure that you download and install the MySQL Connector/ODBC 5.0. Driver

strServerName = "127.0.0.1" 'or "localhost"
strDatabaseName = "newdb"
strUserName = "root"
strPassword = ""

ConnectString = "DRIVER={MySQL ODBC 5.1 Driver};" & _
"SERVER=" & strServerName & _
";DATABASE=" & strDatabaseName & ";" & _
"USER=" & strUserName & _
";PASSWORD=" & strPassword & _
";OPTION=3;"
'DRIVER={SQL Server};SERVER=127.0.0.1\SQLEXPRESS;DATABASE=dbname;UID=userid;PWD=password

End Function

و فى حدث عند الضغط للزر بالنموذج ضع الكود التالى

ثم عدل بالكود الى ما يناسبك

Private Sub Command10_Click()

On Error GoTo Command1_Click_Error
Dim b As Long
strDBCursorType = adOpenDynamic 'CursorType
strDBLockType = adLockOptimistic 'LockType
strDBOptions = adCmdText 'Options

Set cn = New ADODB.Connection
'Me.MousePointer = 11

cn.Open ConnectString()

With cn
.CommandTimeout = 0
.CursorLocation = adUseClient
End With

Set rs = New ADODB.Recordset 'Creates record set
'غير اسم الجدول
strSQL = "select * from coming;"

rs.Open strSQL, cn, strDBCursorType, strDBLockType, strDBOptions


If rs.EOF Then
GoTo ExitSub
Else
MsgBox rs.RecordCount
For b = 1 To rs.RecordCount
'<do whatever you need to do with the data here>
Next b
End If

ExitSub:

rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

On Error GoTo 0
Exit Sub

Command1_Click_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Command1_Click of Form " & Me.Name
End Sub

MrNo_link accesstomysql.doc

تم تعديل بواسطه Abo_Yossof
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

10 إجابة على هذا السؤال .

  • 0

أخي ابو يوسف الله يجزاك الجنة على كل ماتقدمة وفقك الله

السؤال :

هل يمكن عمل الربط بقاعدة بيانات MYSQL على سيرفر

موجود بموقع بالانترنت Online

حقا لو نجح الاتصال على الأنترنت وليس السيرفر المحلي

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

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

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله كل خير وبارك الله بك أخي أبو يوسف على هذا التواصل وهذا الابداع ..

وفقك الله وسدد خطاك ..

تقبل تحياتي واحترامي ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله خيرا اخى اكسير و جزاك الله خيرا اخى محمد سمير

بالنسبة لربط قاعدة البيانات على الانترنت بالتأكيد ذلك ممكن جدا

فقط ستسنخدم ال IP address بدلا من اسم السيرفر

و لكن انا لم اجرب العملية

و لا ادرى ما اخبار السرعة

نرجو من الاخوة اجراء تجربة و اخبارنا

تم تعديل بواسطه Abo_Yossof
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك وجزاك الله خير اخي الفاضل ابا يوسف

الله يعطيك الصحة والعافيه

شرح موفق ورائع وفقك الله

اخي ممكن تشرح طريقة الربط برمجيا بقاعدة البيانات في مايكروسوفت اس كيو ال سيرفر

بواجهة الاكسس

وهل فيه اختلاف بالربط بين اس كيو ال سيرفر. و ماي اس كيو ال

شكرا لك

احترامي وتقديري

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ الكريم

بالنسبة لل sql server

الموضوع لا يختلف كثيرا

فى الدالة ConnectString الموجودة بالكود

غير هذا الجزء الى الكود التالى مع تغيير الاعدادات ( اسم المستخدم و السيرفر و كلمة المرور ) و ستعمل معك ان شاء الله


ConnectString= "Provider=MSDASQL;" & _
"Driver={SQL Server};" & _
"Server=myServerName;" & _
"Database=myDatabaseName;" & _
"Uid=myUsername;" & _
"Pwd=myPassword

"

تم تعديل بواسطه Abo_Yossof
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

بارك الله فيك اخى الكريم والف شكر وتقبل الله منك صالح الأعمال ورزقك الإخلاص فى القول والعمل وبالنسبة لموضوع ربط قاعدة البيانات على الإنترنت فقد تقدم أحد الإخوة بطرح تجربته فى هذا الأمر بعد شرح الطريقة الأولى فى الربط (ربط الجداول ) بالصور والى حضارتكم الرابط المصدر حتى تتعرفوا على تجربته الشخصية بالتفصيل فى هذا الأمر وأنصح الجميع بقرأته لما فيه من اهمية

http://www.arabteam2000-forum.com/index.php?showtopic=193535

والحقيقة بارك الله فيكم جميعا على ما تقدمونه للأمة الإسلامية والعالم العربى ونسأل الله أن يجعله فى ميزان حسناتكم جميعا وأن يوفقكم الله لما يحبه ويرضاه

ولى استفسار اخى الكريم بعد ما طبقت الطريقة الأولى بنجاح والحمد لله كما تفضلت حضرتك والأخ صاحب الموضوع اللى فى الرابط السابق بشرحها وقمت بعمل كل شىء كما شرحتم وتم الأمر بنجاح والحمد لله قابلتنى مشكلة عندما حاولت ان اربط الأكسيس ولكن من جهاز اخر على نفس الشبكة لكى اقوم بعمل شاشة أكسيس اخرى لهذا الجهاز مرتبطة بنفس القاعدة التى قمت بعملها على الجهاز الأول ولكن المشكلة التى واجهتنى هى بعد ادخال بيانات الإتصال اقوم بعمل اختبار للإتصال (test) يخرج لى رسالة بفشل الإتصال وعدم قدرته على الإتصال والحقيقة حاولت كثير فى حل هذه المشكلة فقد قمت بتنصيب برنامج wampserver اكثر من مرة بل جربت برامج اخرى وتحريت الدقة فى تفاصيل بيانات الإتصال على الجهاز السيرفير والجهاز الأخر الذى اريد ربطه بالقاعدة بالإضافة لتوحيد اصدار الويندوز وايضا اغلقت الجدار النارى وازلت برنامج مكافحة الفيروسات وقمت بعمل مشاركة بين الجهازين ووضعتهم فى مجموعة واحدة وجربت ان اربط الأكسيس على الجهاز الأخر بقاعدة بيانات اكسيس على الجهاز الرئيسى ونجح الأمر والحمد لله لكن كلما حاولت الربط بقاعدة ماى سيكوال يتوقف معى الأمر عند الشاشة التى اقوم فيها بإدخال بيانات الإتصال والتى تفضلتم بشرحها فى الملف المرفق فى الخطوة(6- ادخل بيانات الاتصال) فأرجو توضيح الأمر لى هل غفلت شيئا ام يتطلب الأمر إعداد أخر أم ماذا ؟؟؟؟

وبارك الله فيكم جميعا ووفقكم الله لما يحبه ويرضاه

والسلام عليكم ورحمة الله وبركاته

تم تعديل بواسطه محمد.ع.م
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فى حالة الربط عن طريق الكود

من خلال الدالة


Dim strDatabaseName As String
Dim strDBCursorType As String
Dim strDBLockType As String
Dim strDBOptions As String
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection

Private Function ConnectString() As String
Dim strServerName as String
Dim strDatabaseName as string
Dim strUserName as string
Dim strPassword as string

'Change to IP Address if not on local machine
'Make sure that you give permission to log into the
'server from this address
'See Adding New User Accounts to MySQL
'Make sure that you d/l and install the MySQL Connector/ODBC 3.51 Driver

strServerName = "localhost"
strDatabaseName = "DatabaseName"
strUserName = "UserName"
strPassword ="Password"

ConnectString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=" & strServerName & _
";DATABASE=" & strDatabaseName & ";" & _
"USER=" & strUserName & _
";PASSWORD=" & strPassword & _
";OPTION=3;"

End Function

ستحتاج الى تعديل اسم السيرفر أى ان تضع الاى بى الخاص بالسيرفر

لان المحدد "127.0.0.1" "localhost"

اى الجهاز الذى تعمل عليه

و كذلك ستحتاج الى تعديل اسم قاعدة البيانات و المستخدم و كلمة السر

نفس الشىء عن وضع اعدادات الاتصال اليدوى

يتم وضع اسم السيرفر او رقم الاى بى فى المكان المخصص لذلك

ملاحظة اخرى

يجب تشغيل السيرفر عند الاتصال من الواجهة

تم تعديل بواسطه Abo_Yossof
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم 

عندي مشكلة

المشكلة انه سويت الصفحات بال php لكن الانكود ما مظبوط  المخرجات غير واضحة ويحن اضافة بيانات بالنتصفح تكون مظبوطه و في الاكسيس علامات استفهام والعكس صحيح 

ايش الحل ارجو الافادة 

بحثت عن المشكلة ولم اجد لها حل 

المشكلة في الترميز 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ، هذا الموضوع بالنسبة لي قديم وتم حل جميع مشاكله ، وانا امر عليكم ولا اشارك لاني بصراحة لا اشعر بالارتياح بسبب اهمال الادارة لطلبات الاعضاء ، فقد تم حجبي عن منتدىphp  بدون سبب علما اني غير مشترك فيه واغلب مشاركاتي بالاكسس ، والواقع انني مبرمج بي اج بي في المقام الاول ..

على كل حال الاجابة على السؤال الاخير  المتعلق بالترميز ، عند انشاء قاعدة بيانات من خلال واجهة mysql فاجعل ترميزها واجعل ترميز جميع جداولها وحقولها بنوع utf8_unicode_ci

وعندما تنجح في ربط الاكسس مع mysql فقم بتصدير الجدول من الاكسس مباشرة الى الاس كيو ال عبر odbc وفي هذه الحالة لاتقلق حول الترميز
أن فكرة الربط هذه هي الفكرة التي يجب ان تكون الهم رقم 1 بالنسبة لمبرمجي الاكسس ، وانا اعتبرها البديل الصغير لاوراكل .. وهي تقسم العمل الى واجهات front end بواسطة الاكسس يعني النماذج و الاستعلامات  والتقارير فقط بالاكسس واما الجداول ففي مقام امين في backend، على السيرفر الذي قد يكون على الانترنت حقا وقد يكون ضمن الشبكة الداخلية .

وفي المرفقات نموذج من برمجتي لواجهة للتصدير والاستيراد والربط بين الاكسس و mysql

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

odbc_connect_.mde

تم تعديل بواسطه abubasilalraqi
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .