Avatar billede Slettet bruger
17. marts 2003 - 09:31 Der er 5 kommentarer og
1 løsning

Forbindelse til databasen (Haster)

Jeg prøver, gennem java at forbinde til en oracle database. En light version såvel som en almindelig oracle, dog helst den almindelige.

Selve forbindelsen virker på oracle serveren selv og jeg kan sagtens få forbindelse der via et javaprogram, men ikke andre steder fra som det skal kunne...

Kan nogle hjælpe med det?

Indtil videre ser det sølle resultat jeg har lavet sådan her ud:

//Loader JDBC-ODBC databasebroen
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            // Starter en forbindelse til stien
            Connection con = DriverManager.getConnection("jdbc:odbc:eblok", "", "");           
            System.out.println("FORBINDELSEN TIL DATABASEN ER OPRETTET!");
            //Laver et statement objekt til databasen
            Statement stmt = con.createStatement();

Den almindelige database hedder som det måske kan se "eblok" hvor light versionen hedder "polite".... DSN navnene that is.
Avatar billede Slettet bruger
17. marts 2003 - 09:32 #1
Det skal lige siges at på ovennævnte kode får jeg følgende fejl:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver.
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6879)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7036)
        at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3028)
        at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
        at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
        at java.sql.DriverManager.getConnection(DriverManager.java:512)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at DatabaseTest.main(DatabaseTest.java:11)
Avatar billede dennis.kroer Nybegynder
17. marts 2003 - 09:55 #2
Er der nogen speciel grund til at du vil gå over ODBC fra Java til Oracle?
- det mest naturlige ville være at brug en THIN eller OCI JDBC driver - kræver kun en ekstra .jar fil...
Avatar billede Slettet bruger
17. marts 2003 - 10:06 #3
skal jeg være helt ærlig... Og det skal jeg er det fordi jeg ikke helt kan overskue hvad der er smartest men indtil videre kan jeg godt se at det er smartest med med en af dem du foreslår... Men hvordan gør jeg det så?
Avatar billede Slettet bruger
17. marts 2003 - 10:10 #4
Jeg har nu kigget lidt rundt på nettet og er kommet frem til dette her:

import java.io.*;
import java.sql.*;

public class HelloWorld
{
    public static void main (String[] args)
    {
       
    try
    {
        // HER GÅR DET GALT
      Connection conn = DriverManager.getConnection(
              "jdbc:oracle:oci8:@(DESCRIPTION = (ADDRESS_LIST = " +
              "(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1521)))" +
                "(CONNECT_DATA = (SERVICE_NAME = polite)))");
                System.out.println("Forbindelse er etableret");
    }
    catch (SQLException e)
    {
        while (e != null)
        {
            System.out.println ("Der kunne ikke etableres forbindelse");
            System.out.println (e);
            e = e.getNextException();
        }
    }
    } // main
}

Stadig får jeg en fejl der lyder:
Der kunne ikke etableres forbindelse
java.sql.SQLException: No suitable driver


?
Avatar billede dennis.kroer Nybegynder
17. marts 2003 - 10:20 #5
Prøv at brug følgende - og husk at indkludere din .jar fil - classes12.jar fra $
ORACLE_HOME/jdbc/lib in din CLASSPATH

DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
conn = DriverManager.getConnection ("jdbc:oracle:thin:hr/hr@localhost:1521:orcl");

- hr/hr = username/password
- localhost = ...
- 1521 = SQLNet listener port
- orcl = Oracle SID

Dermed bruger du THIN driveren (tynd driver - kun .jar fil inkluderet). Dit eksempel anvender OCI - kræver SQLNet installeret.
Avatar billede Slettet bruger
17. marts 2003 - 10:37 #6
Tak skal du have... det virker nu :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester