/ 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
Hvordan Connectet jeg til en ODBC-driver ?
Fra : a


Dato : 01-05-02 13:23

Kørsel af programmet vist neders giver fejl i linje 22 som er:
PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
Persons" );

Hvorfor gør den det? Jeg har en ODBC-driver med navn
"kk" pegende på en database på en MS SQL-server (trustet connection). Hvor
skal jeg angive det? og behøver man at angive String userName = "mig" og
String password = "hemmeligt" ?


Venlig Hilsen
Michael

//------------------------------------
import java.util.Properties;
import java.sql.*;

class DBExample{

public static void main( String[] args ){
Driver driver = null;
Connection connection = null;

String userName = "mig";
String password = "hemmeligt";
String server = "jdbc.odbc.testdb";

Properties properties = new Properties();
properties.put( "user", userName );
properties.put( "password", password );

try{
driver = new sun.jdbc.odbc.JdbcOdbcDriver();
connection = driver.connect( server, properties );
PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
Persons" );
ResultSet rs = pstmt.executeQuery();
while( rs.next() ){
System.out.println( "Navn: " + rs.getString(1) + " " +
rs.getString(2) );
}
pstmt.close();
}catch(Exception e ){
e.printStackTrace();
}
}
}
//------------------------------------




 
 
Lars Dam (01-05-2002)
Kommentar
Fra : Lars Dam


Dato : 01-05-02 13:51

On Wed, 1 May 2002 14:22:59 +0200, "a" <mal@proinvent.dk> wrote:

>Kørsel af programmet vist neders giver fejl i linje 22 som er:
>PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
>Persons" );

>Hvorfor gør den det?

Det ville hjælpe hvis du fortalte os hvad fejlen siger.


vh. ld

---
"Time is the fire in which we burn"

Dennis Thrysøe (01-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 01-05-02 14:10

Det er - ifølge den anden tråd om samme problem - en
NullPointerException i den omtalte linie.

-dennis

Lars Dam wrote:
> On Wed, 1 May 2002 14:22:59 +0200, "a" <mal@proinvent.dk> wrote:
>
>
>>Kørsel af programmet vist neders giver fejl i linje 22 som er:
>>PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
>>Persons" );
>
>
>>Hvorfor gør den det?
>
>
> Det ville hjælpe hvis du fortalte os hvad fejlen siger.
>
>
> vh. ld
>
> ---
> "Time is the fire in which we burn"


Jonathan Stein (01-05-2002)
Kommentar
Fra : Jonathan Stein


Dato : 01-05-02 14:49

a wrote:

> String server = "jdbc.odbc.testdb";

String server ="jdbcbc:testdb";

> Properties properties = new Properties();
> properties.put( "user", userName );
> properties.put( "password", password );
>
> try{
> driver = new sun.jdbc.odbc.JdbcOdbcDriver();
> connection = driver.connect( server, properties );

Prøv noget med:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(server, userName, password);

M.v.h.

Jonathan

--
Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
(giver mulighed for eget SSL-certifikat).
http://www.jsp-hotel.dk/



a (02-05-2002)
Kommentar
Fra : a


Dato : 02-05-02 08:52

Dine rettelser giver samme fejl - java.lang.NullPointerException - i linjen:

PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
tabel1" );

Hvad betyder fejlen egentlig? Burde det ikke bare virke, jeg er ved at
opgive dette helt for en periode.

Venlig Hilsen
Michael Larsen



"Jonathan Stein" <jstein@image.dk> skrev i en meddelelse
news:3CCFF253.DACA90D5@image.dk...
> a wrote:
>
> > String server = "jdbc.odbc.testdb";
>
> String server ="jdbcbc:testdb";
>
> > Properties properties = new Properties();
> > properties.put( "user", userName );
> > properties.put( "password", password );
> >
> > try{
> > driver = new sun.jdbc.odbc.JdbcOdbcDriver();
> > connection = driver.connect( server, properties );
>
> Prøv noget med:
> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
> Connection con = DriverManager.getConnection(server, userName,
password);
>
> M.v.h.
>
> Jonathan
>
> --
> Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
> Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
> (giver mulighed for eget SSL-certifikat).
> http://www.jsp-hotel.dk/
>
>



Dennis Thrysøe (02-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 02-05-02 09:10

a wrote:
> Dine rettelser giver samme fejl - java.lang.NullPointerException - i linjen:
>
> PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
> tabel1" );
>
> Hvad betyder fejlen egentlig? Burde det ikke bare virke, jeg er ved at
> opgive dette helt for en periode.

Det betyder, at du ikke har fået en Connection instans ud af dit kald
til driver.connect().

Jeg tror ikke du skal forvente at tingene "bare virker". Slet ikke med
JDBC/ODBC integration.

Der er et utal af ting der kan gå galt i den forbindelse. Kan du
bekræfte, at du kan få fat i din ODBC forbindelse på en anden måde?

Jeg går ud fra, at du har rettet til "jdbcbc:testdb" (eller dit eget
DSN i stedet for "testdb").


-dennis


>
> Venlig Hilsen
> Michael Larsen
>
>
>
> "Jonathan Stein" <jstein@image.dk> skrev i en meddelelse
> news:3CCFF253.DACA90D5@image.dk...
>
>>a wrote:
>>
>>
>>> String server = "jdbc.odbc.testdb";
>>
>> String server ="jdbcbc:testdb";
>>
>>
>>> Properties properties = new Properties();
>>> properties.put( "user", userName );
>>> properties.put( "password", password );
>>>
>>> try{
>>> driver = new sun.jdbc.odbc.JdbcOdbcDriver();
>>> connection = driver.connect( server, properties );
>>
>> Prøv noget med:
>> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
>> Connection con = DriverManager.getConnection(server, userName,
>
> password);
>
>> M.v.h.
>>
>> Jonathan
>>
>>--
>>Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
>>Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
>>(giver mulighed for eget SSL-certifikat).
>>http://www.jsp-hotel.dk/
>>
>>
>
>
>


a (03-05-2002)
Kommentar
Fra : a


Dato : 03-05-02 11:15

jo, jeg har rettet til:

String server = "jdbcbc:kk";

Min ODBC-driver hedder "kk" og den virker fint når jeg connecter fra f.eks.
Excel eller VB. Jeg er klar over at der selvfølgelig kan visse hurtler man
skal over, men hvis dette ikke virker på min maskine, hvordan skal jeg så
forvente det virker, hvis jeg skal afvikle koden eller programmere på 20
andre computerer!

vh. Michael

"Dennis Thrysøe" <dt@netnord.dk> skrev i en meddelelse
news:3CD0F460.1040707@netnord.dk...
> a wrote:
> > Dine rettelser giver samme fejl - java.lang.NullPointerException - i
linjen:
> >
> > PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
> > tabel1" );
> >
> > Hvad betyder fejlen egentlig? Burde det ikke bare virke, jeg er ved at
> > opgive dette helt for en periode.
>
> Det betyder, at du ikke har fået en Connection instans ud af dit kald
> til driver.connect().
>
> Jeg tror ikke du skal forvente at tingene "bare virker". Slet ikke med
> JDBC/ODBC integration.
>
> Der er et utal af ting der kan gå galt i den forbindelse. Kan du
> bekræfte, at du kan få fat i din ODBC forbindelse på en anden måde?
>
> Jeg går ud fra, at du har rettet til "jdbcbc:testdb" (eller dit eget
> DSN i stedet for "testdb").
>
>
> -dennis
>
>
> >
> > Venlig Hilsen
> > Michael Larsen
> >
> >
> >
> > "Jonathan Stein" <jstein@image.dk> skrev i en meddelelse
> > news:3CCFF253.DACA90D5@image.dk...
> >
> >>a wrote:
> >>
> >>
> >>> String server = "jdbc.odbc.testdb";
> >>
> >> String server ="jdbcbc:testdb";
> >>
> >>
> >>> Properties properties = new Properties();
> >>> properties.put( "user", userName );
> >>> properties.put( "password", password );
> >>>
> >>> try{
> >>> driver = new sun.jdbc.odbc.JdbcOdbcDriver();
> >>> connection = driver.connect( server, properties );
> >>
> >> Prøv noget med:
> >> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
> >> Connection con = DriverManager.getConnection(server, userName,
> >
> > password);
> >
> >> M.v.h.
> >>
> >> Jonathan
> >>
> >>--
> >>Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
> >>Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
> >>(giver mulighed for eget SSL-certifikat).
> >>http://www.jsp-hotel.dk/
> >>
> >>
> >
> >
> >
>



a (03-05-2002)
Kommentar
Fra : a


Dato : 03-05-02 11:18

Forresten fornemmer jeg, at jeg nu skal ud i at prøve det på en helt anden
computer. Det vil jeg gøre snarest.

vh. micahel


"a" <mal@proinvent.dk> skrev i en meddelelse
news:aatnub$2m3d$1@news.cybercity.dk...
> jo, jeg har rettet til:
>
> String server = "jdbcbc:kk";
>
> Min ODBC-driver hedder "kk" og den virker fint når jeg connecter fra
f.eks.
> Excel eller VB. Jeg er klar over at der selvfølgelig kan visse hurtler man
> skal over, men hvis dette ikke virker på min maskine, hvordan skal jeg så
> forvente det virker, hvis jeg skal afvikle koden eller programmere på 20
> andre computerer!
>
> vh. Michael
>
> "Dennis Thrysøe" <dt@netnord.dk> skrev i en meddelelse
> news:3CD0F460.1040707@netnord.dk...
> > a wrote:
> > > Dine rettelser giver samme fejl - java.lang.NullPointerException - i
> linjen:
> > >
> > > PreparedStatement pstmt = connection.prepareStatement( "SELECT * FROM
> > > tabel1" );
> > >
> > > Hvad betyder fejlen egentlig? Burde det ikke bare virke, jeg er ved at
> > > opgive dette helt for en periode.
> >
> > Det betyder, at du ikke har fået en Connection instans ud af dit kald
> > til driver.connect().
> >
> > Jeg tror ikke du skal forvente at tingene "bare virker". Slet ikke med
> > JDBC/ODBC integration.
> >
> > Der er et utal af ting der kan gå galt i den forbindelse. Kan du
> > bekræfte, at du kan få fat i din ODBC forbindelse på en anden måde?
> >
> > Jeg går ud fra, at du har rettet til "jdbcbc:testdb" (eller dit eget
> > DSN i stedet for "testdb").
> >
> >
> > -dennis
> >
> >
> > >
> > > Venlig Hilsen
> > > Michael Larsen
> > >
> > >
> > >
> > > "Jonathan Stein" <jstein@image.dk> skrev i en meddelelse
> > > news:3CCFF253.DACA90D5@image.dk...
> > >
> > >>a wrote:
> > >>
> > >>
> > >>> String server = "jdbc.odbc.testdb";
> > >>
> > >> String server ="jdbcbc:testdb";
> > >>
> > >>
> > >>> Properties properties = new Properties();
> > >>> properties.put( "user", userName );
> > >>> properties.put( "password", password );
> > >>>
> > >>> try{
> > >>> driver = new sun.jdbc.odbc.JdbcOdbcDriver();
> > >>> connection = driver.connect( server, properties );
> > >>
> > >> Prøv noget med:
> > >> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
> > >> Connection con = DriverManager.getConnection(server, userName,
> > >
> > > password);
> > >
> > >> M.v.h.
> > >>
> > >> Jonathan
> > >>
> > >>--
> > >>Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
> > >>Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
> > >>(giver mulighed for eget SSL-certifikat).
> > >>http://www.jsp-hotel.dk/
> > >>
> > >>
> > >
> > >
> > >
> >
>
>



Dennis Thrysøe (03-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 03-05-02 11:56



a wrote:
> jo, jeg har rettet til:
>
> String server = "jdbcbc:kk";

Det ser rigtigt ud.

> Min ODBC-driver hedder "kk" og den virker fint når jeg connecter fra f.eks.
> Excel eller VB.

Okay, så må ODBC delen jo være konfigureret korrekt.

> Jeg er klar over at der selvfølgelig kan visse hurtler man
> skal over, men hvis dette ikke virker på min maskine, hvordan skal jeg så
> forvente det virker, hvis jeg skal afvikle koden eller programmere på 20
> andre computerer!

Det tror jeg bestemt heller ikke du skal forvente.

Jeg har ikke rigtigt nogle guldkorn mht. hvad der skulle være galt. Men
umiddelbart ser din kode ud som jeg ville (og har) løst det samme
problem. Dog connectede jeg til en Access database i stedet, og det kan
jo være at Access ODBC driveren er mindre pernitten end MS SQL driveren...


-dennis


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408523
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste