Zugriff auf MS-SQL-Dartenbank unter W-7

04/01/2011 - 00:55 von uwe Gutsche | Report spam
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
 

Lesen sie die antworten

#1 Schmidt
08/01/2011 - 20:10 | Warnen spam
"uwe Gutsche" schrieb

Die Antworten auf Deine Frage halten sich vermutlich
deshalb "in Grenzen", da wahrscheinlich kaum jemand
noch Applikationen "da draussen" hat, die per
DAO/ODBC gegen den MS-SQLServer arbeiten.

Bin mir ziemlich sicher, dass beim Arbeiten per
ADO/OleDB in VB6 keine Probleme auf Win7-64
(zumindest gegen den MS-SQLServer) auftreten
sollten.

Ich hab' schon ewig nicht mehr mit DAO hantiert -
und kann Dir da wenig helfen, ausser dem wahrscheinlich
wenig ermutigenden Tip, doch in der VB6-App besser
auf ADO - bzw. in der .NET-App dann besser auf
ADO.NET umzustellen, um auf den SQLServer zu-
zugreifen.

Mit ADO sollten sich dann auch eventuelle "RDO-
dependencies" in Wohlgefallen auflösen (falls
ihr das Ganze nicht hinter einem WebServer
betrieben - und RDO als AppServer-Layer
benutzt habt).

Olaf

Ähnliche fragen