Всем привет!
У меня несколько SQL Server'ов и несколько баз, а прога, которую купили, работает только с DSN, просто периодически ее нужно, чтобы она подключалась к разным сервакам и базам.В данный момент озадачен сабжем, проблема в том, что ни с помощью ODBC API, ни с помощью метода RegisterDatabase Jetпровайдера мне не удается это сделать: первый способ молча что-то делает, а второй матюкается "ODBC call failed". Ось Windows XP SP1, права администратора. Ниже приведу исходник на ODBC API:
Private Declare Function SQLConfigDataSource Lib "odbccp32.dll" (ByVal hwndParent As Long, ByVal fRequest As Integer, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long
Private Declare Function SQLSetConfigMode Lib "odbccp32.dll" (ByVal wConfigMode As Long) As Long
Private Declare Function SQLInstallerError Lib "odbccp32.dll" (ByVal iError As Integer, ByVal pfErrorCode As Long, ByVal lpszErrorMsg As String, ByVal cbErrorMsgMax As Integer, ByVal pcbErrorMsg As Integer) As Long
'----------------------
Private Sub Form_Load()
Dim DSN As Long
Dim Mode As Long
Dim Err As Long
Dim pfErrorCode As Long
Mode = SQLSetConfigMode(2)
DSN = SQLConfigDataSource(0, 5, "SQLServer", "DSN=Optimum DB;SERVER=myserver;UID=myuid;PWD=myparole;Database=MyDatabase")
Err = SQLInstallerError(1, pfErrorCode, lpszErrorMsg, 509, pcbErrorMsg)
List1.AddItem (Err)
List1.AddItem (pfErrorCode)
End Sub
Плз, подскажите, где я мог ошибиться?