05. december 2004 - 18:32Der er
33 kommentarer og 1 løsning
Adgang til Oracle via Java
Hej Eksperter
Er der én der kan hjælpe mig med at få oprettet en adgang til Oracle via Java. Jeg programmerer i eclipse. I første omgang ønsker jeg bare at kunne oprette en tabel og indsætte nogle værdier i den.
Jeg har fundet følgende kode stump, men det lader ikke til at virke. ---------------------------------------- import java.sql.*; public class DatabaseAdgang { public static void main(String[] arg) throws Exception { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection forb = DriverManager.getConnection("jdbc:odbc:datakilde1"); Statement stmt = forb.createStatement();
stmt.executeUpdate("create table KUNDER (NAVN varchar(32), KREDIT float)" );
stmt.executeUpdate("insert into KUNDER values('Jacob', -1799)"); stmt.executeUpdate("insert into KUNDER values('Brian', 0)");
} } -------------------------------- Hvordan og hvor definerer jeg datakildens navn: "Datakilde1"?
Jeg får følgende fejl når jeg prøver at køre den: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at DatabaseAdgang.main(DatabaseAdgang.java:19) Exception in thread "main"
Efter at have kigget nærmere tror jeg faktisk at jeg har driveren på computeren. Den ligger under D:Oracle\ora90\ODBC\deckan32.dll Kan det være den? I så fald hvordan pejer jeg på den i denne linie? Connection forb = DriverManager.getConnection("jdbc:odbc:deckan32");
Hvordan skriver jeg dette?: -------- Connection forb = DriverManager.getConnection( "jdbc:oracle:thin:@oracle.cv.ihk.dk:1521:student","brugernavn","adgangskode"); ---------- Beskrivelse: Første parameter er en URL til databasen. Den består af en protokol ("jdbc"), underprotokol ("oracle") og noget mere, der afhænger af underprotokollen. I dette tilfælde angiver det, at databasen ligger på maskinen oracle.cv.ihk.dk port 1521 og hedder student. ---- Hvordan finder jeg ud af hvilken URL min database ligger på? Hvilken protokol og underprotokol? Hvad skal jeg lede efter og hvor??
Nu har jeg fået fat i driver og tilføjet den til classpath. Med følgende 2 kode-stykker forsøger jeg at skabe forbindelse til databasen. URL ER korrekt. Er der nogen der kan se hvor den er gal, for jeg kan ikke??? ............ import java.sql.*; import java.util.*; import oracle.jdbc.*;
public class Databaseforbindelse { private static Connection conn; private Statement stmt; final static String connectString = "jdbc:oracle:thin@DON:1521:jacob";
public Databaseforbindelse() throws Exception { DriverManager.registerDriver (new oracle.jdbc.OracleDriver()); conn = DriverManager.getConnection(connectString, "System", "Manager"); stmt = conn.createStatement(); }
public class BenytDatabaseforbindelse { public static void main(String[] arg) { try { Databaseforbindelse dbf = new Databaseforbindelse(); .............................
java.sql.SQLException: Ugyldig Oracle URL er angivet Problem med database: java.sql.SQLException: Ugyldig Oracle URL er angivet at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:203) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at Databaseforbindelse.<init>(Databaseforbindelse.java:14) at BenytDatabaseforbindelse.main(BenytDatabaseforbindelse.java:10)
kan du ikke give arne hans point, så vi kan få lukket spørgsmålet?
Synes godt om
Ny brugerNybegynder
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.