Announcement

Collapse
No announcement yet.

Zugriff auf Oracle8 aus Servlet

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriff auf Oracle8 aus Servlet

    Hallo,

    ich versuche aus einem Servlet heraus ein OracleDB aufzurufen.
    Installiert ist Apache mit JServ1.1b3 .
    Der Zugriff auf eine AccessDB läuft, der Zugriff auf Oracle aus einer Applikation auch, aber sobald ich die Methode aus der Anwendung ins Servlet packe bekomme ich folgende Meldung:

    ajp12: Servlet Error: java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path: no ocijdbc8 in java.library.path

    an error returned handling request via protocol "ajpv12"

    Wenn die Applikation läuft, müßten doch auch die Pfade stimmen...?!?

    Wenn ich in die jserv.properties als "wrapper.classpath" die Oracle-Klassen classes111 oder classes12 einbinde bekomme ich statt der üblichen no suitable driver-Meldung einen internal server error!!

    Wer kann mir helfen

    Gruß
    Timm

  • #2
    Wie sieht Dein ConnectString aus. Ich denke Du hast normalerweise einen Oracle Client, aber dein WebServer nicht, daher da Oracle Client installieren oder über die Thin-Variante zugreifen.

    Weitere Details entweder auf Nachfrage hier oder in den ReadMe's zu den JDBCTreiber von Oracl

    Comment


    • #3
      Ich lade den Treiber so:
      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
      Das klappt noch, merkwürdiger Weise den Connect auf dei Datenbank mache ich so:
      con = DriverManager.getConnection("jdbcracleci8:@<DB-Name>","system", "manager");
      Hier bekomme ich dann den Fehler.
      Installiert ist der Oracle Client 8.1.7 und die Oracle Klassen (im Zip-File) liegen in allen Pfaden, die ich finden konnte...

      Tim

      Comment


      • #4
        Versuch mal die thin-Verbindung wir sind gewechselt weil das einfach weniger Ärger macht. Da heißt der Connect String dann ungefähr:

        jdbcracle:thin:@myrechner:1521:myD

        Comment


        • #5
          No suitable Driver!
          So langsam verzweifle ich wirklich...
          Ich habe jetzt (zufällig) den Connect-String Verwurschtelt:
          con = DriverManager.getConnection("jdbcracle:<b>jdbc</b>:thin:@host:1521:db","system", "manager")
          und bekomme auf einmal einen ORA-17067; heißt das nicht, daß ich irgendwie Kontakt zu DB habe??

          Comment


          • #6
            Wenn der Klassenpfad paßt muß es eigentlich gehen mit dem thin, wir hatten da nie Probleme. Passen die Versionen zueinander? Welches JDBC Treiber nimmst Du denn

            Comment


            • #7
              Hi Timm,

              den OCI-Treiber brauchst Du nur für XA (verteilte Datenbanken). Der Thin-Treiber muß nur über den CLASSPATH erreichbar sein, während die DLLs des OCI über den PATH erreichbar sein müssen.

              c

              Comment


              • #8
                Hi Timm,<br>

                ich gehe mal von aus das Dein Problem gelöst ist, wollte aber dennoch <br>was dazu schreiben. Von wegen CLASSPATH und so.<br>

                Möglich ist z.B. sowas in der Richtung (bei NT-Server) in den Umgebungsvariablen zu setzen<br>

                C:\Oracle\Ora81\jdbc\lib\classes12.zip // für den Treiber<br>

                und sowas könnte dann im Code stehen:<br>

                Connection con = DriverManager.getConnection("jdbcracle:thin:@localhost:1521B-Name","Username", "Passwort");<br>
                Statement stm = con.createStatement();<br>
                ResultSet rs = stm.executeQuery("Select blablabla from Tabellenname");<br>

                Michae

                Comment

                Working...
                X