none
'BadImageFormatExeception' Fehler beim Versuch in Microsoft Visual Studio 2008 Berichtsprojekt eine Oracle Datenquelle an zu legen. RRS feed

  • Frage

  • Hallo!

    Ich habe jetzt schon auf dem zweiten 64 Bit Rechner das gleiche Problem.

    Die Oracle Client Software 64 Bit ist installiert, trotzdem bekomme ich beim Testen der Verbindungseigenschaften die Fehlermeldung.

    Der Versuch zum Laden von Oracle-Clientbibliotheken hat eine 'BadImageFormatExeception' ausgelöst. Dieses Problem tritt bei Ausführung im 64-Bit Modus auf, wenn die 32-Bit Clientkomponenten von Oracle installiert sind.

    Wer weiß wo's da harkt?

    Dienstag, 7. Oktober 2014 11:06

Antworten

  • Hallo,

    in einem Berichtsprojekt gibt es keine Kompilierungsoptionen wie AnyCPU. Visual Studio/BIDS 2008 ist ein 32 Bit Programm und da kannst Du nur 32 Bit Treiber ansprechen. Auf Deinem Entwicklerrechner musst Du also die 32 Bit Oracle Treiber installieren.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort vorgeschlagen Elmar Boye Mittwoch, 8. Oktober 2014 14:29
    • Als Antwort markiert C. Fisch Donnerstag, 9. Oktober 2014 06:07
    Dienstag, 7. Oktober 2014 12:52

Alle Antworten

  • Hallo,

    ich vermute dein Projekt ist auf AnyCPU (Ziel CPU) eingestellt. Auf einem 64 bit System wird dann das Projekt automatisch auch als 64 bit ausgeführt. Das funktioniert aber nicht wenn 32 bit Client Komponenten von Oracle installiert sind. Du kannst 64 bit nicht mit 32 bit mischen. Du musst also in dem Projekt als Ziel CPU X86 einstellen oder die 64 bit Komponenten von Oracle installieren.

    Gruß 


    Jens Gerber

    Dienstag, 7. Oktober 2014 11:54
  • Hallo!

    Das mit AnyCPU und x86 habe ich jetzt schon ein paar mal gelesen.

    Leider finde ich die Entsprechende Einstellung in meinem Projekt nicht. Wo wird der Wert gesetzt?

    Und noch eine Frage zu dem 32 / 64 Bit durcheinander.

    Der Report wird später auf einem 64 Bit Recher ausgeführt. Auf diesem Rechner wurde die 64 Bit Clientkomponente von Oracle installiert. Ob die Datenbank aus der die Daten gelesen werden sollen auf einem 32 oder 64 Bit Rechner installiert ist weiß ich nicht, auch nicht ob es sich um eine 32 oder 64 Bit Oracle Version handelt. Ist diese Installation ausschlaggebend?

    Danke für deine Hilfe

    Dienstag, 7. Oktober 2014 12:46
  • Hallo,

    in einem Berichtsprojekt gibt es keine Kompilierungsoptionen wie AnyCPU. Visual Studio/BIDS 2008 ist ein 32 Bit Programm und da kannst Du nur 32 Bit Treiber ansprechen. Auf Deinem Entwicklerrechner musst Du also die 32 Bit Oracle Treiber installieren.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort vorgeschlagen Elmar Boye Mittwoch, 8. Oktober 2014 14:29
    • Als Antwort markiert C. Fisch Donnerstag, 9. Oktober 2014 06:07
    Dienstag, 7. Oktober 2014 12:52
  • Hallo,

    ich habe leider kein VS 2008 mehr hier um nachzusehen wo dort diese Einstellung war. Aber ich glaube die ist gleich geblieben. Projekt -> Eigenschaften und dann links auf den Reiter "Kompilieren".

    Ausschlaggebend ist die Version von der Oracle Komponente und dem Ziel System.

    Kompilieren als X86 in Verbindung mit Oracle 32 bit funktioniert auf 32 bit und 64 bit Maschinen

    Kompilieren als AnyCPU funktioniert nur in Verbindung mit 32 bit Oracle wenn es eine 32 bit Maschine ist

    Wenn später die Zielmaschine 64 bit ist und ebenfalls die Oracle Komponente in 64 bit installiert ist musst du es als AnyCPU oder X64 kompilieren.

    Gruß

     


    Jens Gerber

    Dienstag, 7. Oktober 2014 12:59
  • Danke!

    Nachdem ich die 64 Bit Oracle Client Version deinstalliert und die 32 Bit Version installiert habe ist der Fehler weg.

    Mittwoch, 8. Oktober 2014 09:38