/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JDBC driver spørgsmål
Fra : Søren Augustesen


Dato : 06-12-01 15:14

Hej

Jeg forsøger at omme i kontakt med en MS SQL database via Java JDBC. Jeg
har fået fat i en driver som består af 6 .class filer i en .jar fil. Jeg
har lagt denne .jar fil i samme mappe som de andre jar filer min
compiler bruger (c:\jdk1.3.1/jre/lib/jdbc.jar), og jag har tilføjet den
til listen over jar filer compileren har adgang til (jeg bruger JCreater
LE).

Min kode:

package myprojects.testforbin;

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Testforbin {
   public static void main(String args[]) {
      String url = "jdbc:inetdae:wwwproxy.kom.auc.dk:3128";
      String createString;
      createString = "SELECT * FROM Itemhist;";
      Connection con;
      Statement stmt;
      
      try {
         Class.forName("com.inet.tds.TdsDriver");
      } catch(java.lang.ClassNotFoundException e) {
         System.err.print("ClassNotFoundException: ");
         System.err.println(e.getMessage());
      }
      
      try {
         con = DriverManager.getConnection(url, "sa", "");
         stmt = con.createStatement();
         stmt.executeUpdate(createString);
         stmt.close();
         con.close();
      } catch(SQLException ex) {
         System.err.println("SQLException: " + ex.getMessage());
      }
   }
}

kompilerer helt ok, men når jeg prøver at køre den får jeg følgende
fejl:
"ClassNotFoundException: com.inet.tds.TdsDriver" (det er det navn readme
filen til driveren siger man skal bruge).
"SQLException: No suitable driver"

Er der nogle der har nogle ideer til hvad der kan være galt???

Alle forslag modtages da jeg er løbet tør for ideer.

MVH
Søren Augustesen

 
 
Dennis Thrysøe (06-12-2001)
Kommentar
Fra : Dennis Thrysøe


Dato : 06-12-01 15:40

Hedder en af de 6 class filer '

com.inet.tds.TdsDriver

'?

Er wwwproxy.kom.auc.dk ikke en linux kasse? Er der en MS SQL server derpå?

-dennis

Søren Augustesen wrote:

>Hej
>
>Jeg forsøger at omme i kontakt med en MS SQL database via Java JDBC. Jeg
>har fået fat i en driver som består af 6 .class filer i en .jar fil. Jeg
>har lagt denne .jar fil i samme mappe som de andre jar filer min
>compiler bruger (c:\jdk1.3.1/jre/lib/jdbc.jar), og jag har tilføjet den
>til listen over jar filer compileren har adgang til (jeg bruger JCreater
>LE).
>
>Min kode:
>
[SNIP]


Søren Augustesen (06-12-2001)
Kommentar
Fra : Søren Augustesen


Dato : 06-12-01 16:29


De 6 class filer hedder:
-SqlFunctions.class
-TdsConnection.class
-TdsDatabaseMetaDate.class
-TdsDriver.class
-TdsResultSet.class
-TdsResultSetMetaData.class
-TdsStatement.class

Jeg har forsøgt med 'TdsDriver' i stedet for 'com.inet.tds.TdsDriver',
men det resulterede også i fejlmeddeleser ("Exception in thread "main"
java.lang.NoClassDefFoundError: TdsDriver (wrong name:
com/inet/tds/TdsDriver)").

wwwproxy.kom.auc.dk er en linux kasse. MS SQL databasen ligger på en
extern server der er tilsluttet netværket.

MVH Søren Augustesen

Dennis Thrysøe wrote:
>
> Hedder en af de 6 class filer '
>
> com.inet.tds.TdsDriver
>
> '?
>
> Er wwwproxy.kom.auc.dk ikke en linux kasse? Er der en MS SQL server derpå?
>
> -dennis
>
> Søren Augustesen wrote:
>
> >Hej
> >
> >Jeg forsøger at omme i kontakt med en MS SQL database via Java JDBC. Jeg
> >har fået fat i en driver som består af 6 .class filer i en .jar fil. Jeg
> >har lagt denne .jar fil i samme mappe som de andre jar filer min
> >compiler bruger (c:\jdk1.3.1/jre/lib/jdbc.jar), og jag har tilføjet den
> >til listen over jar filer compileren har adgang til (jeg bruger JCreater
> >LE).
> >
> >Min kode:
> >
> [SNIP]

Dennis Thrysøe (06-12-2001)
Kommentar
Fra : Dennis Thrysøe


Dato : 06-12-01 16:40

Søren Augustesen wrote:

>De 6 class filer hedder:
>-SqlFunctions.class
>-TdsConnection.class
>-TdsDatabaseMetaDate.class
>-TdsDriver.class
>-TdsResultSet.class
>-TdsResultSetMetaData.class
>-TdsStatement.class
>
>Jeg har forsøgt med 'TdsDriver' i stedet for 'com.inet.tds.TdsDriver',
>men det resulterede også i fejlmeddeleser ("Exception in thread "main"
>java.lang.NoClassDefFoundError: TdsDriver (wrong name:
>com/inet/tds/TdsDriver)").
>

Ligger filerne som de skal i jar filen? (Under com/inet/tds/ folderen).

>wwwproxy.kom.auc.dk er en linux kasse. MS SQL databasen ligger på en
>extern server der er tilsluttet netværket.
>
Det ser bare lidt spøjst ud at du fortæller din JDBC driver om en
www-proxy. Med mindre selvfølgelig driveren kan et eller andet smart
http-tunneling gennem en http proxy.

-dennis


Ukendt (06-12-2001)
Kommentar
Fra : Ukendt


Dato : 06-12-01 19:21

Hej Søren,

Din driver er ikke på din classpath når du køre programmet - det er muligt
at din compiler kan finde den, men det kan dit program ikke når du
eksekverer det !

Hvis du bruger JCreator så opret en reference til jar-filen hvor din driver
ligger i ( det lyder forøvrigt meget underligt at Inet's driver kun er på 6
klasser, der burde være langt flere ) under "Project settings" ved at
tilføje et "Required library", istedet for at blande den sammen med JDK'en.

Søren Staun Jørgensen


"Søren Augustesen" <august@kom.auc.dk> skrev i en meddelelse
news:3C0F7D2B.4EA11E3E@kom.auc.dk...
> Hej
>
> Jeg forsøger at omme i kontakt med en MS SQL database via Java JDBC. Jeg
> har fået fat i en driver som består af 6 .class filer i en .jar fil. Jeg
> har lagt denne .jar fil i samme mappe som de andre jar filer min
> compiler bruger (c:\jdk1.3.1/jre/lib/jdbc.jar), og jag har tilføjet den
> til listen over jar filer compileren har adgang til (jeg bruger JCreater
> LE).
>
> Min kode:
>
> package myprojects.testforbin;
>
> import java.awt.*;
> import java.awt.event.*;
> import java.sql.*;
> public class Testforbin {
> public static void main(String args[]) {
> String url = "jdbc:inetdae:wwwproxy.kom.auc.dk:3128";
> String createString;
> createString = "SELECT * FROM Itemhist;";
> Connection con;
> Statement stmt;
>
> try {
> Class.forName("com.inet.tds.TdsDriver");
> } catch(java.lang.ClassNotFoundException e) {
> System.err.print("ClassNotFoundException: ");
> System.err.println(e.getMessage());
> }
>
> try {
> con = DriverManager.getConnection(url, "sa", "");
> stmt = con.createStatement();
> stmt.executeUpdate(createString);
> stmt.close();
> con.close();
> } catch(SQLException ex) {
> System.err.println("SQLException: " + ex.getMessage());
> }
> }
> }
>
> kompilerer helt ok, men når jeg prøver at køre den får jeg følgende
> fejl:
> "ClassNotFoundException: com.inet.tds.TdsDriver" (det er det navn readme
> filen til driveren siger man skal bruge).
> "SQLException: No suitable driver"
>
> Er der nogle der har nogle ideer til hvad der kan være galt???
>
> Alle forslag modtages da jeg er løbet tør for ideer.
>
> MVH
> Søren Augustesen



Jan Oksfeldt Jonasen (06-12-2001)
Kommentar
Fra : Jan Oksfeldt Jonasen


Dato : 06-12-01 18:55

Søren Augustesen <august@kom.auc.dk> wrote:

> Hej
>
> Jeg forsøger at omme i kontakt med en MS SQL database via Java JDBC. Jeg
> har fået fat i en driver som består af 6 .class filer i en .jar fil. Jeg
> har lagt denne .jar fil i samme mappe som de andre jar filer min
> compiler bruger (c:\jdk1.3.1/jre/lib/jdbc.jar), og jag har tilføjet den
> til listen over jar filer compileren har adgang til (jeg bruger JCreater
> LE).
>
Kender ikke meget til JCreator, men burde skråstregerne ikke vende om?
Ellers, driveren du bruger er vist den fra inetsoftware, og er iøvrigt
et fremragende produkt, klassen du leder efter findes muligvis i en
anden .jar kaldet Opta2000.jar. Hvor har du fået din udgave fra? Er det
en af deres demo versioner? Prøv også at åbne din jdbc.jar fil med
f.eks. WinZip og kig på direktorie strukturen deri, det skal (hvis dit
eksempel skal virke) være et direktorie forløb
com\inet\tds\TdsDriver.class. Prøv evt. også med driveren
com.inet.pool.PoolDriver med url
jdbc:inetpool:hostnavn:port:database=databasenavn

--
Mvh/re Jan Jonasen
jonasen (at) it (dot) dk

If I wanted culture, I'd eat yogurt.

Søren Augustesen (07-12-2001)
Kommentar
Fra : Søren Augustesen


Dato : 07-12-01 10:45

Hej

Tak for svarene. Det viste sig at være en fejl i jar-filen men den er
rette nu og programmet kan finde driveren.

MVH
Søren Augustesen

Søren Augustesen wrote:
>
> Hej
>
> Jeg forsøger at omme i kontakt med en MS SQL database via Java JDBC. Jeg
> har fået fat i en driver som består af 6 .class filer i en .jar fil. Jeg
> har lagt denne .jar fil i samme mappe som de andre jar filer min
> compiler bruger (c:\jdk1.3.1/jre/lib/jdbc.jar), og jag har tilføjet den
> til listen over jar filer compileren har adgang til (jeg bruger JCreater
> LE).
>
> Min kode:
>
> package myprojects.testforbin;
>
> import java.awt.*;
> import java.awt.event.*;
> import java.sql.*;
> public class Testforbin {
> public static void main(String args[]) {
> String url = "jdbc:inetdae:wwwproxy.kom.auc.dk:3128";
> String createString;
> createString = "SELECT * FROM Itemhist;";
> Connection con;
> Statement stmt;
>
> try {
> Class.forName("com.inet.tds.TdsDriver");
> } catch(java.lang.ClassNotFoundException e) {
> System.err.print("ClassNotFoundException: ");
> System.err.println(e.getMessage());
> }
>
> try {
> con = DriverManager.getConnection(url, "sa", "");
> stmt = con.createStatement();
> stmt.executeUpdate(createString);
> stmt.close();
> con.close();
> } catch(SQLException ex) {
> System.err.println("SQLException: " + ex.getMessage());
> }
> }
> }
>
> kompilerer helt ok, men når jeg prøver at køre den får jeg følgende
> fejl:
> "ClassNotFoundException: com.inet.tds.TdsDriver" (det er det navn readme
> filen til driveren siger man skal bruge).
> "SQLException: No suitable driver"
>
> Er der nogle der har nogle ideer til hvad der kan være galt???
>
> Alle forslag modtages da jeg er løbet tør for ideer.
>
> MVH
> Søren Augustesen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste