uwe Gutsche
2011-01-03 23:55:16 UTC
Hallo an Alle,
da in dieser NG überhaupt noch jemand postet, hoffe ich, dass mir hier
jemand helfen kann.
Das Problem ist schnell beschrieben:
Ein mit VB6 geschriebenes Programm (Datenbankzugriff auf MS-SQL-Server)
funktioniert unter XP einwandfrei.
Nun muss es auf W-7 Maschinen (64Bit) laufen, und beim ersten Zugriff
auf die Datenbank stürzte das Programm mit "Fehler 3633: kann
MSRDO20.dll nicht öffnen" ab. Daraufhin habe ich die "MSRDO20.dll" im
Install-Scipt mit hinzugefügt, aber jetzt ist der Fehler: "3146".
MS-knowledgebase meint dazu, dass die ODBC.dll von Version 1.xx (16Bit)
auf 2.xx (32Bit) upzudaten ist. ??
Ich denke, das ist nicht mehr ganz aktuell, zumal ich auf dem ganzen W-7
System keine "ODBC.dll" finden kann (nur:"ODBC32.dll", "ODBCbcp.dll",
"ODBCconf.dll" und so weiter..)
Ich habe inzwischen auch versucht, das Programm mit ".NET 2003" neu zu
übersetzen, aber der Fehler ist der gleiche.
Der Quelltext sieht praktisch so aus (auch wenn das jetzt schon .NET ist):
Public wk As Workspace
Public cnMa As Connection
Public strCon As String
Public rstMa As Recordset
wk = DBEngine.CreateWorkspace("ODBCDirect", "", "",
WorkspaceTypeEnum.dbUseODBC)
On Error GoTo Err_
strCon = "ODBC;DATABASE=dbName;UID=uID;PWD=pWD;DSN=dSN"
cnMa = wk.OpenConnection("ConMa",
DriverPromptEnum.dbDriverNoPrompt, False, strCon)
' Der Fehler entsteht in der folgenden Zeile '
rstMa = cnMa.OpenRecordset("SELECT Ma_Name, Ma_Vorname FROM
Mitarbeiter WHERE ......)
....
Goto Exit_
Err_:
MsgBox("Fehler " & Err.Number & " (" & Err.Description & ")",
vbApplicationModal + vbExclamation, )
Exit_:
On Error GoTo 0
Ich probiere jetzt schon seit einigen Wochen, komme aber immer an der
gleichen Stelle nicht weiter.
Ich vermute, dass es am 64Bit-System liegt, weil es unter XP ja geht.
Hat irgend jemand eine hilfreiche Idee?
Im Voraus schon mal Danke
Uwe
da in dieser NG überhaupt noch jemand postet, hoffe ich, dass mir hier
jemand helfen kann.
Das Problem ist schnell beschrieben:
Ein mit VB6 geschriebenes Programm (Datenbankzugriff auf MS-SQL-Server)
funktioniert unter XP einwandfrei.
Nun muss es auf W-7 Maschinen (64Bit) laufen, und beim ersten Zugriff
auf die Datenbank stürzte das Programm mit "Fehler 3633: kann
MSRDO20.dll nicht öffnen" ab. Daraufhin habe ich die "MSRDO20.dll" im
Install-Scipt mit hinzugefügt, aber jetzt ist der Fehler: "3146".
MS-knowledgebase meint dazu, dass die ODBC.dll von Version 1.xx (16Bit)
auf 2.xx (32Bit) upzudaten ist. ??
Ich denke, das ist nicht mehr ganz aktuell, zumal ich auf dem ganzen W-7
System keine "ODBC.dll" finden kann (nur:"ODBC32.dll", "ODBCbcp.dll",
"ODBCconf.dll" und so weiter..)
Ich habe inzwischen auch versucht, das Programm mit ".NET 2003" neu zu
übersetzen, aber der Fehler ist der gleiche.
Der Quelltext sieht praktisch so aus (auch wenn das jetzt schon .NET ist):
Public wk As Workspace
Public cnMa As Connection
Public strCon As String
Public rstMa As Recordset
wk = DBEngine.CreateWorkspace("ODBCDirect", "", "",
WorkspaceTypeEnum.dbUseODBC)
On Error GoTo Err_
strCon = "ODBC;DATABASE=dbName;UID=uID;PWD=pWD;DSN=dSN"
cnMa = wk.OpenConnection("ConMa",
DriverPromptEnum.dbDriverNoPrompt, False, strCon)
' Der Fehler entsteht in der folgenden Zeile '
rstMa = cnMa.OpenRecordset("SELECT Ma_Name, Ma_Vorname FROM
Mitarbeiter WHERE ......)
....
Goto Exit_
Err_:
MsgBox("Fehler " & Err.Number & " (" & Err.Description & ")",
vbApplicationModal + vbExclamation, )
Exit_:
On Error GoTo 0
Ich probiere jetzt schon seit einigen Wochen, komme aber immer an der
gleichen Stelle nicht weiter.
Ich vermute, dass es am 64Bit-System liegt, weil es unter XP ja geht.
Hat irgend jemand eine hilfreiche Idee?
Im Voraus schon mal Danke
Uwe