Hallöchen,
ich hätte mal eine Zusatzfrage - wurde nur das Excel von 32 auf 64 bit umgestellt oder gab es da mehr, z.B. auch eine neue Excelversion, W10 zu W11, Umstellung der Anmeldetaten, oder was auch immer?
Ich habe seit Excel 5 und 97 eigentlich fast auf jede Version umstellen müssen und kann eigentlich aus dieser Erfahrung heraus berichten, dass vor allem die Versionsunterschiede Probleme bereiteten.
Das fing mal damit an, dass Makro- und Dialogblätter durch VBA und Userforms ersetzt wurden, anfangs sogar in deutsch. Ok, das ist lange her
Automatisierte Prozesse wurden durch Systemänderungen gekillt, weil Sicherheitseinstellungen anders griffen. Unter WinNT lief einiges anders als unter W7, XP, ...
Die Excel-Versionen hatten von mal zu mal anderen Speicherbedarf bzw. anderes Handling. Prozesse, die mal liefen, klemmten in neueren Versionen wg. zu wenig Arbeitsspeicher. Eine Prüfung z.B. unter 2010 ergab, dass bei Kopieraktionen jedes mal etwas im Speicher zurück blieb, und bei ca. 1,2 GB war dann Schluss, Excel stürzte ab.
Klar, Kompatibilitäsprobleme gab es auch beim eingesetzten Datenbank-Treiber. Ohne Umstellung hätte man wohl auch beim 32 bit Betriebssystem bleiben müssen ...
Die Umstellung der verwendeten API war auch ein Thema.
Die Authentifizierungsmethode wurde zwischenzeitlich auch mal geändert, ich glaube, auf Kerberos.
Es ist aus meiner Sicht dann doch ein recht vielschichtiges Thema. Ich denke, wo ein Wille ist, ist auch ein Weg. (Muss nicht der kürzeste oder schnellste sein

)
Gewerblich ist halt' noch ein Kosten-Nutzen-Vergleich nicht zu verachten ...
Bei mir sah das Verbinden zu Oracle mal so aus
PHP-Code:
'Set objSession = CreateObject("OracleInProcServer.XOraSession")
'Set objDatabase = objSession.OpenDatabase("dbName", "/", 0)
Wobei der Schrägstrich für die Anmeldung mit den userdaten das am PC angemeldeten Kollegen stand.
Später gab es dann das
PHP-Code:
Set Dbase = New ADODB.Connection
Dbase.Open ("Provider=OraOLEDB.Oracle;Data Source=dbName.world;User ID=/;Password=;Persist Security Info=True;")
(Verweis auf Microsoft ActiveX DataObjects 6.1 Library - also, da kann man auch mal schauen, ob da was als nicht vorhanden markiert wird)
Aber, wie an anderer Stelle schon zu lesen, da braucht man zumindest erst mal Einblick in Deinen Code und vielleicht ein paar weitere Info's - siehe oben...