Avatar billede larschristensen Nybegynder
29. marts 2001 - 09:32 Der er 23 kommentarer og
1 løsning

URL database /Acces database

At connecte til en Access database via en URL adresse???
har problemer med driver connection!!
Avatar billede webmasterdk Praktikant
29. marts 2001 - 09:54 #1
skal der ikke bruges asp til det istedet for java?
Avatar billede nute Nybegynder
29. marts 2001 - 09:58 #2
hvordan ser din connection ut ?
Avatar billede mr.gessle Nybegynder
29. marts 2001 - 09:58 #3
Vi ved at ved at passe IP-nr og det logiske navn for databasen i 32bit-ODBC indstillingerne skulle det være muligt. Indlæsning af drivere og properties til databasen og adgang over LAN er problemet. Er det muligt - eller skal man ty til RMI?
Avatar billede nute Nybegynder
29. marts 2001 - 10:00 #4
man kan enten gjøre det gjennom jdbc-odbc eller en spesifikk jdbc-driver til Access...
Avatar billede nute Nybegynder
29. marts 2001 - 10:15 #5
hvilken driver benytter du ?
Avatar billede hoejrup Nybegynder
29. marts 2001 - 11:07 #6
Det kan være at du kan bruge disse oplysninger, der også omhandler Microsoft Access Databaser:

http://www.openlinksw.com/support/conprog.htm

/per
Avatar billede nute Nybegynder
29. marts 2001 - 11:12 #7
du kan benytte følgende:

Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\");

hvis du har \'odbc32.dll\' på din maskin....(noe jeg regner med du/dere har...)

/nute
Avatar billede larschristensen Nybegynder
29. marts 2001 - 12:20 #8
Jeg ønsker netop ikke at bruge RMI!!
min maskine er udsyret med de forskellige driver
da jeg kan benytte mig af jdbc-odbc bro/driver i det lokal nætværk og på samme maskine.
jeg vil gå ud af min lokale nætværk, unden at skulle bruge min egen 32-bit kontrol...
dette skulle ikke være nødvendig.(siger java Core)
har prøvet med og uden.
lille styk kode:
--------------------------------------------------
Properties instilling =new java.util.Properties();
Driver driver  = DriverManager.getDriver(url);
DriverManager.registerDriver(driver);
enForbindelse  = driver.connect(url,instilling);
etStatement = enForbindelse.createStatement();
--------------------------------------------------
Avatar billede larschristensen Nybegynder
29. marts 2001 - 12:22 #9
Avatar billede nute Nybegynder
29. marts 2001 - 12:26 #10
det skal holde med dette:

String url = \"jdbc:odbc:[ODBC navn]\";

try{
 
  Class.forName(\"sun.jdbc.odbc.JbdcOdbcDriver\");
  Connection con = DriverManager.getConnection(\"url\",\"\",\"\");

  ...

} catch...

har du testet det ?

/nute
Avatar billede larschristensen Nybegynder
29. marts 2001 - 12:31 #11
public static Connection getConnection(String url,
                                      String user,
                                      String password)
                                throws SQLException
Attempts to establish a connection to the given database URL. The DriverManager attempts to select an appropriate driver from the set of registered JDBC drivers.
Avatar billede larschristensen Nybegynder
29. marts 2001 - 12:32 #12
har ikke user eller password da der kun skal læses
Avatar billede mr.gessle Nybegynder
29. marts 2001 - 12:40 #13
nute>> Connection con = DriverManager.getConnection(\"url\",\"\",\"\");

her initierer du bare en connection med den angivne url og en blank streng for user og adgangskode... Altså ikke null!

Avatar billede larschristensen Nybegynder
29. marts 2001 - 12:48 #14
det er jo bare en misforståelse
User=\"\" + Password =  \"\"(ikke null) da der ikke er brug for det, bruger jeg den tilhørende metode med String url som indput(mere korekt da jeg ikke ved hvad der sker bagved GØR DU!)
ønsker jeg og bruge user og password skriver jeg det i Properties!!  ;)
Avatar billede nute Nybegynder
29. marts 2001 - 13:01 #15
hmmm...ser litt på det....er nettopp kommet tilbake etter frokost...

jeg ser en liten feil som jeg gjorde:

Connection con = DriverManager.getConnection(\"url\",\"\",\"\");

skal være

Connection con = DriverManager.getConnection(url,\"\",\"\");

/nute


Avatar billede nute Nybegynder
29. marts 2001 - 13:12 #16
hmmm.....for å stille et litt idiotisk spørsmål...dere har ODBC installert på deres maskin ?
Avatar billede nute Nybegynder
29. marts 2001 - 13:25 #17
larschristensen >> getConnection har flere signaturer. man kan angi kun url, url + properties og url + username + password. hvis du ikke skal sende med username + password benytter du bare

Connection con = DriverManager.getConnection( url );

denne bit med kode skal normalt være nok til å åpne en connection til db...:

try{
  String url = \"jdbc:odbc:[ODBC referanse til database ]\";
  Class.forName( \"sun.jdbc.odbc.JbdcOdbcDriver\" );
  Connection con = DriverManager.getConnection( url );
  //Debug
  System.out.println(\"Connection OK!!\\n\");
} catch( ClassNotFoundException cEx ){
  cEx.printStactTrace( System.out );
  System.out.println(\"Connection not OK!! ClassNotFoundException\\n\");
} catch( SQLException sqlEx ){
  sqlEx.printStactTrace( System.out );
  System.out.println(\"Connection not OK!! SQLException\\n\");
} catch( Exception ex ){
  ex.printStactTrace( System.out );
  System.out.println(\"Connection not OK!! Exception\\n\");
}

hva får dere når dere kjører denne koden

/nute
Avatar billede kama Nybegynder
29. marts 2001 - 16:45 #18
Hvis jeg har forstået det korrekt, så har du én Access-db liggende på en maskine(server) i netværket, som ønskes tilgået fra andre klienter i dette netværk.
1) Til databasen oprettes en odbc-datakilde.
2) Stien til databasen skal deles som et netværks-drev.
3) Applikationen som skal køre på maskinerne(klienterne), skal have følgende kode for at tilslutte sig til databasen:

// Etablering af forbindelse til JDBC-ODBC-Driver
// Det er nødvendigt at loade denne driver lokalt
try
{    Class.forName(\"sun.jdbc.odbc.JbdcOdbcDriver\");
}
catch (ClassNotFoundException cnfe)
{    System.out.println(\"Forbindelse til driveren kunne ikke oprettes.\");
}

// Oprettelse af forbindelse til databasen.
String databasenavn = \"database\";
Connection c = DriverManager.getConnection(\"jdbc:odbc://net-adresse/navn-paa-delt-drev/katalog/\"+databasenavn);
Statement s = c.createStatement();

Dette skulle gerne virke.

/kama
Avatar billede larschristensen Nybegynder
30. marts 2001 - 14:21 #19
2) Stien til databasen skal deles som et netværks-drev.
Db ligger ikke på et lokalt drev..ellers var det jo nemt
Avatar billede kama Nybegynder
01. april 2001 - 12:53 #20
Det er stadig samme måde, at du gør det på!
Hvis du ikke har en ren jdbc-driver til Access, så skal du finde en.
Connection c = DriverManager.getConnection(\"jdbc:access://www.hostadresse.dk/\"+databasenavn);
Avatar billede disky Nybegynder
02. april 2001 - 10:05 #21
jeg bruger selv følgende:

private Connection con=null;


Class.forName(\"sun.jdbc.odbc.JbdcOdbcDriver\").newInstance();

//.newInstance(); er vigtig for at MS JVM også kan finde ud af det (de overholder ikke standarden)

con = DriverManager.getConnection(\"jdbc:odbc:DIN-OBC-DU-HAR-OPRETTET\", username, password);

Og så virker det bare.

Men tag og brug en ordentligt Database istedet for Access

dbDriverName skal være lig med :
Avatar billede nute Nybegynder
21. april 2001 - 13:56 #22
er det ikke på tide å lukke spørsmålet ?

;)
Avatar billede larschristensen Nybegynder
19. juni 2001 - 13:46 #23
sun.jdbc.odbc.JbdcOdbcDriver (kan kun bruges lokalt)
Avatar billede kama Nybegynder
19. juni 2001 - 14:45 #24
Hvad var der galt med mit og nutes svar ovenfor???
Det hele går vel egentlig ud på, at du har adgang til et webhotel eller lign. med en Access database opsat som ODBC-datakilde. Denne database vil du så tilgå vha. et Java-program på din maskine indenfor lokal-nettet. Det kan du altså bare ikke med mindre du loader en driver lokalt!!!!

// Etablering af forbindelse til JDBC-ODBC-Driver
// Det er nødvendigt at loade denne driver lokalt
try
{    Class.forName(\"sun.jdbc.odbc.JbdcOdbcDriver\");
}
catch (ClassNotFoundException cnfe)
{    System.out.println(\"Forbindelse til driveren kunne ikke oprettes.\");
}

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
Kurser inden for grundlæggende programmering

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