Avatar billede forgalt Nybegynder
04. maj 2002 - 09:35 Der er 14 kommentarer og
3 løsninger

Java og Databaser

Hej eksperter,

Jeg har et spørgsmål vedr. at connecte til en database via java. Er der nogen forskel på om man connecter til en Accessbase eller en anden base f.eks. MySQL..altså rent programmerings mæssigt. I teorien kan man vel udskifte sin database bare at den ny database er 100% magen til den gamle.

Er der nogen der kan be/afkræfte ovenstående....
Avatar billede =maddog= Nybegynder
04. maj 2002 - 09:41 #1
tjae. regner med at du bare skal udskifte
Class.forName(String); og
DriverManager.getConnection(String, String, String);
hvis de altså bruger samme syntax.
Avatar billede forgalt Nybegynder
04. maj 2002 - 10:13 #2
Jeg har følgende
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Hvad er det du siger der skal udskiftes her hvis jeg
ændrer database?
Avatar billede disky Nybegynder
04. maj 2002 - 10:16 #3
den ændring er god nok,

men i din connection string DriverManager.getConnection()

Skal du ændre første parameter til at bruge din jdbc-odbc driver
Avatar billede =maddog= Nybegynder
04. maj 2002 - 10:18 #4
well, til HyperSonic er det
Class.forName("org.hsql.jdbcDriver");
Connection con = DriverManager.getConnection("jdbc:HypersonicSQL:/"+path,"sa","" );
har ikke erfaringer med MySQL.
Jeg kan dårligt forestille mig at der er andet der skal ændres
Avatar billede forgalt Nybegynder
04. maj 2002 - 10:32 #5
disky => det du siger er at hvis jeg inde ODBC management har kaldt den ny database noget andet så skal jeg sende dette navn med istedet for navnet på den gamle database...
Avatar billede forgalt Nybegynder
04. maj 2002 - 10:32 #6
eller hvad?
Avatar billede =maddog= Nybegynder
04. maj 2002 - 10:35 #7
Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql:/"+path);
eller hvad?
Avatar billede forgalt Nybegynder
04. maj 2002 - 10:42 #8
maddog => bruger du så ikke Windows' odbc manager?
...vær venligst tålmodig...jeg er ny hvad dette område angår
Avatar billede forgalt Nybegynder
04. maj 2002 - 10:43 #9
Normalt går jeg ind via Windows' odbc manager og registrerer min database her og så kalder jeg:
Connection con = DriverManager.getConnection("jdbc:odbc:+path);
Avatar billede =maddog= Nybegynder
04. maj 2002 - 10:47 #10
well. det afhænger vel i grunden af hvilket miljø serveren kører i. Hypersonic kører jeg selv og anvender den syntax jeg har angivet uden besvær. eksemplet med mysql var et jeg gravede frem på nettet med en rap søgning i google. jeg er heller ikke nogen haj til databaser, så måske vi skulle lade den stå åben lidt endnu.
Avatar billede soelvpil Nybegynder
04. maj 2002 - 12:18 #11
Den letteste metode til at connecte til en database er nok at gå via odbc, som du har gjort.

Fordelen er, at man altid bruger den samme databasedriver, der er sjældent problemer med url'en o.s.v.
Ulempen er langsommere performance.

Alternativt findes der fro de fleste større databaser (oracle, db2, mysql) drivere der henvender sig direkte til denne database. Man skal så have en anden streng i class.forName, og urlen varierer lidt mere, men er typsik noget med jdbc:mysql://blabla eler jdbc:oracle://blabla. Det kan være lidt sværere for en begynder at få forbindelse, til gengæld performer det typisk hurtigere (og man slipper fro odbc-opsætning, så det virker også i linux).

Så kort sagt, er maddogs første svar korrekt.

I praksis kan der være andre problemer, idet der kan være forskel på, hvilke datatyper en database kender f.eks. date Ved normal (læs ikke-avanceret) brug, skulle det sjældent give problemer at udskifte databasen.
Avatar billede forgalt Nybegynder
04. maj 2002 - 14:23 #12
Jeg takker for jeres svar...Maddog hvis du vil have point så skal du lige lave et svar istedet for kommentarer
Avatar billede =maddog= Nybegynder
05. maj 2002 - 07:20 #13
jepz. det gør jeg.
Avatar billede Slettet bruger
08. maj 2002 - 00:08 #14
personligt bruger jeg selv MySql og jeg har en singleton til connection som kan bruges igen og igen, så hvis det var noget så giv lige lyd fra dig
Avatar billede disky Nybegynder
08. maj 2002 - 07:37 #15
soelpil:
Nej det er ikke lettest at bruge odbc tværtimod, der skal man bøvle med DNS, dårlig performance, og manglende platformsuafhængighed.

Det letteste er klart direkte via en ægt JDBC driver.
Avatar billede forgalt Nybegynder
01. juni 2002 - 14:59 #16
lidt til jer hver!
Avatar billede =maddog= Nybegynder
03. juni 2002 - 15:21 #17
lidt har også ret :D. takker.
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