Créer une source ODBC grâce un programme ou un .reg
cs_Mouky
Messages postés3Date d'inscriptionmercredi 13 mars 2002StatutMembreDernière intervention13 mai 2002
-
13 mars 2002 à 14:47
tarchegue
Messages postés3Date d'inscriptionlundi 25 novembre 2002StatutMembreDernière intervention12 février 2010
-
20 sept. 2004 à 12:24
Bonjour,
J'ai un site utilisant une base de données interne qui vas être utilisé par pleins d'ordi ! J'ai donc besoin de creer un ptit prog qui ira tout seul, avec ses ptits bras musclés, me creer mon source ODBC, exactement comme je veux ...
Alors je me dis : D'une part, tu n'as absolument aucune idée de comment faire, la preuve, tu ne sais pas où laisser ton message ... Mais en plus, so ca tombe, y'en a qui se sont déjà pris la tête à le faire ... comme je ne suis pas du genre à réinventer à roue, je vous écoute mas agnaux !!!
Si vous ne savez pas exactement comment faire, mais que vous savez où je peux demander, ca m'interesse aussi !!
Apodemus
Messages postés24Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention17 avril 2002 4 avril 2002 à 14:52
voici un code un peu long, mais qui cree un dsn
(en fait le DSN n'est qu'une entree dans la base de registre)
reste à modifier les valeurs
'les declarations
Private Const REG_SZ = 1
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias _
"RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, _
phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias _
"RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, _
ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal _
cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
'ici un code sur un bouton et pour SQLServer
Private Sub Command1_Click()
Dim DataSourceName As String
Dim DatabaseName As String
Dim Description As String
Dim DriverPath As String
Dim DriverName As String
Dim LastUser As String
Dim Regional As String
Dim Server As String
Dim lResult As Long
Dim hKeyHandle As Long 'parametres DSN
DataSourceName = "MONDSN"
DatabaseName = "MaDatabase"
Description = "Ma description"
DriverPath = "C:\WINDOWS\SYSTEM\sqlsrv32.dll"
LastUser = "IDUSER"
Server = "MONSERVEUR"
DriverName = "SQL Server" 'Creation de la DSN key.
lResult = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI" & _
DataSourceName, hKeyHandle)
lResult = RegSetValueEx(hKeyHandle, "Database", 0&, REG_SZ, _
ByVal DatabaseName, Len(DatabaseName))
lResult = RegSetValueEx(hKeyHandle, "Description", 0&, REG_SZ, _
ByVal Description, Len(Description))
lResult = RegSetValueEx(hKeyHandle, "Driver", 0&, REG_SZ, _
ByVal DriverPath, Len(DriverPath))
lResult = RegSetValueEx(hKeyHandle, "LastUser", 0&, REG_SZ, _
ByVal LastUser, Len(LastUser))
lResult = RegSetValueEx(hKeyHandle, "Server", 0&, REG_SZ, _
ByVal Server, Len(Server))
lResult = RegCloseKey(hKeyHandle)
'Open ODBC Data Sources key to list the new DSN in the ODBC Manager.
lResult = RegCreateKey(HKEY_LOCAL_MACHINE, _
"SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", hKeyHandle)
lResult = RegSetValueEx(hKeyHandle, DataSourceName, 0&, REG_SZ, _
ByVal DriverName, Len(DriverName))
lResult = RegCloseKey(hKeyHandle)
End Sub