![]() |
|
انشاء odbc برمجيا - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : انشاء odbc برمجيا (/showthread.php?tid=4928) |
انشاء odbc برمجيا - RaggiTech - 03-10-12 كاتب الموضوع : shenosheno2008
انشاء oebc عند عمل الاتصال بالبرنامج برمجيااولا: كود : Imports Microsoft.Win32ثانيا قم بتعريف المكتبة الدالة التالية Private Declare Function SQLConfigDataSource Lib "ODBCCP32.dll" (ByVal hwndparent As Integer, ByVal frequest As Integer, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Integer من خلال الاجراء التالى يتم انشاء odbc سواء قاعدةالبيانات على هذا الجهاز ام على السرفر trusted or not trusted هذا هو الاجراء Function create_odbc_dsn(ByVal server_name As String, ByVal dsn_name As String, ByVal driver_name As String, ByVal database_name As String, ByVal description As String, ByVal user_id As String, ByVal trusted As Boolean) As Boolean Dim atrbute As String atrbute = "" atrbute = atrbute + "SERVER=" atrbute = atrbute + server_name atrbute = atrbute + Chr(0) atrbute = atrbute + "DSN=" atrbute = atrbute + dsn_name atrbute = atrbute + Chr(0) atrbute = atrbute + "DESCRIPTION=" atrbute = atrbute + description atrbute = atrbute + Chr(0) atrbute = atrbute + "DATABASE=" atrbute = atrbute + database_name atrbute = atrbute + Chr(0) If trusted = False Then atrbute = atrbute + "TRUSTED_CONNECTION=NO" Else atrbute = atrbute + "TRUSTED_CONNECTION=YES" End If atrbute = atrbute + Chr(0) If SQLConfigDataSource(0, 4, driver_name, atrbute) = 1 And Me.add_userid(user_id, dsn_name, trusted) = True Then Return True Else Return False End If End Function فى حالة not trusted يحتاج الى تعريف مستخدم كالتالى Private Function add_userid(ByVal userid As String, ByVal dsn_name As String, ByVal trusted As Boolean) As Boolean Try If trusted = True Then Return True End If Dim regkey, regsubkeysw As RegistryKey Dim regsubkeyodbc, regsubkeyodbcini As RegistryKey Dim regsales As RegistryKey regkey = Registry.LocalMachine regsubkeysw = regkey.OpenSubKey("SOFTWARE") regsubkeyodbc = regsubkeysw.OpenSubKey("ODBC") regsubkeyodbcini = regsubkeyodbc.OpenSubKey("ODBC.INI") regsales = regsubkeyodbcini.OpenSubKey(dsn_name, True) regsales.SetValue("LastUser", "sh") Return True Catch ex As Exception Return False End Try End Function انتهى الكلاس فى المرفقات يمكنك فى شتاشة الاتصال تعريف نسخة من الكلاس وتمرير المتغيرات بتاع الاتصال الى الاجاء create_odbc_dsn |