Ich benötige in einer Notes-Datenbank Daten aus einer Ansicht auf einem MS SQL Server (2000). Um nicht bei jedem User eine DSN einrichten zu müssen möchte ich diese dynamisch erstellen. Folgendes Skript hab ich gefunden und die Verbindungs-Attribute für den SQL-Server benutzt (
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbcsql/od_odbc_c_99yd.asp)
Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (Byval hwndParent As Long, _
Byval fRequest As Long, _
Byval lpszDriver As String, _
Byval lpszAttributes As String) As Long
Sub Kack
Const ODBC_ADD_DSN = 1 ' Add data source
Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Const ODBC_REMOVE_DSN = 3 ' Remove data source
Const ODBC_ADD_SYS_DSN = 4
Dim v As Variant
Dim ind As Variant
Dim sel As String
Dim flag As Integer
Dim b As String
Dim dbAttributes As String
b = Chr$(0)
dbAttributes = "DSN=MyDSN"+b+ _
"Database=Meine Datenbank"+b+_
"Description=Meine Verbindung"+b+_
"Driver={SQL Server}"+b+_
"Server=MEINSERVER"+b+_
"Trusted_Connection=yes"+b+b
flag = SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, "SQL Server", dbAttributes)
If flag Then
Msgbox "Super"
Else
Msgbox "Kack"
End If
End Sub
Die dbAttributes habe ich schon zigmal geändert, mal die DSN weggelassen, mal Address=IP-Adresse hinzugefügt etc. es haut nicht hin. Wenn das erste Argument der API-Funktion ungleich 0 ist sollte ein Dialogfenster hochkommen, das krieg ich auch nicht hin. Die Werte 'MeinSERVER' etc habe ich natürlich gegen korrekte Werte getauscht. Wenn ich das ganze über denWindows ODBC Driver Manager mache klappt auch alles wunderbar. Irgendeine Idee?