Probleme mit der ODBC Abfrage unter Win7 64-Bit
Hallo Zusammen,
ich habe unter Win7 32-Bit ein VBS Script geschrieben das auch Funktioniert.
Jetzt soll es aber unter 64-Bit im Aufgaben Manager laufen, diese geht aber nicht mehr.
Teil Script welches unter 32-Bit läuft:
bei "if rcs.Fields("zaehler") = 0 then" kommt dann die Fehlermeldung:
Fehler: Ausnahmefehler aufgetreten.
Code: 80020009
Quelle: (null)
kann mir jemand Helfen.
Vielen Dank
Gruß Ralf
ich habe unter Win7 32-Bit ein VBS Script geschrieben das auch Funktioniert.
Jetzt soll es aber unter 64-Bit im Aufgaben Manager laufen, diese geht aber nicht mehr.
Teil Script welches unter 32-Bit läuft:
Option Explicit
Dim Conn, Cmd,rcs,objCommand,objupdate
Set Conn = CreateObject("ADODB.Connection")
Set Cmd = CreateObject("ADODB.Command")
Set rcs = CreateObject("ADODB.Recordset")
Set objCommand = CreateObject ("ADODB.Command")
Set objupdate = CreateObject ("ADODB.Command")
Conn.CommandTimeout = 40
Conn.ConnectionString = "Driver={Informix-CLI 2.5 (32 Bit)};Service=1525;Persist Security Info=False;Data Source=datenbank"
Conn.Open
Cmd.ActiveConnection = Conn
Cmd.CommandType = 1
Cmd.CommandText = "select count(*) zaehler from btb_auftrag where ws_printed = 0"
rcs.Open Cmd,, 1, 1
if rcs.Fields("zaehler") = 0 then
bei "if rcs.Fields("zaehler") = 0 then" kommt dann die Fehlermeldung:
Fehler: Ausnahmefehler aufgetreten.
Code: 80020009
Quelle: (null)
kann mir jemand Helfen.
Vielen Dank
Gruß Ralf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 214162
Url: https://administrator.de/contentid/214162
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
9 Kommentare
Neuester Kommentar
Zitat von @Lord-of-Manor:
Hallo Penny.
Nein, da bekomme ich die selbe Meldung.
Und sorry wegen der Codeformatierung, die habe ich übersehen, obwohl ich extra geschaut hatte.
Es wird jetzt unter einer alten XP Maschine eingesetzt.
Bin aber dennoch für Tipps dankbar.
Gruß Ralf
Hallo Ralf,Hallo Penny.
Nein, da bekomme ich die selbe Meldung.
Und sorry wegen der Codeformatierung, die habe ich übersehen, obwohl ich extra geschaut hatte.
Es wird jetzt unter einer alten XP Maschine eingesetzt.
Bin aber dennoch für Tipps dankbar.
Gruß Ralf
vielleicht hilft Dir dieser Link Microsoft Support. Bei der x64 Variante muss man genau angeben, welche ODBC-Version (x86 / x64) man verwenden will. In der Vergangenheit hatte ich bei einem ähnlicher Problem einen Kollegen helfen können, indem er die richtige Variante genutzt hat. Defaultmäßig wird unter Win 7 x64 im Pfad "%SystemDrive%\Windows\System32" gesucht. Du müßtests evtl. den Pfad auf "%systemdrive%\Windows\SysWoW64" setzen.
Gruss Penny.
Moin Lord-Of-Manor,
falls es doch nichts x64-spezifisches ist: Fehlt vielleicht ein einfaches "rcs.moveFirst" vor der jetzigen letzten Zeile?
Sprich: wenn du am Ende/auf EOF stehst und/oder kein Datensatz zurückkam, dann müsste er auch abgrätschen.
Das Feld ws_printed wird ja wohl numerisch sein und nicht Char(1) oder so etwas?
Grüße
Biber
falls es doch nichts x64-spezifisches ist: Fehlt vielleicht ein einfaches "rcs.moveFirst" vor der jetzigen letzten Zeile?
Sprich: wenn du am Ende/auf EOF stehst und/oder kein Datensatz zurückkam, dann müsste er auch abgrätschen.
Das Feld ws_printed wird ja wohl numerisch sein und nicht Char(1) oder so etwas?
Grüße
Biber
Das Problem dürfte am ODBC-Treiber liegen. Hab ich auf der Arbeit auch auf manchen Servern bzw. mit manche DBn. Geholfen hat mir bisher immer der Workarround die entsprechenden Scripte in der 32Bit-Umgebung laufen zu lassen indem ich sie einfach mit "\windows\syswow64\wscript.exe \pfadzumscript\meinscript.vbs" aufrufe.