Avatar billede donslund Nybegynder
14. oktober 2008 - 09:03 Der er 19 kommentarer og
1 løsning

Connecte til Derby database.

Jeg skal connecte til en Derby Database, men jeg kan ikke helt finde ud af om der foregår med JDBC eller ODBC.

Nogen der har erfaringer og måske ved hvor jeg finder den rigtige databasedriver?
Avatar billede jakobdo Ekspert
14. oktober 2008 - 09:14 #1
I følge siden: http://db.apache.org/derby/derby_charter.html

Så skriver de følgende:
Derby network server

The Derby network server increases the reach of the Derby database engine by providing traditional client server functionality. The network server allows clients to connect over TCP/IP using the standard DRDA protocol. The network server allows the Derby engine to support networked JDBC, ODBC/CLI, Perl and PHP.

Så det ser ud til du lidt har frit valg. :o)
Avatar billede donslund Nybegynder
14. oktober 2008 - 09:21 #2
Leverandøren siger JDBC, men hvordan skal min connection så se ud og skal jeg ikke finde en JDBC-driver først?

Jeg har fundet et link på IMB's website, men det virker ikke mere.
Avatar billede jakobdo Ekspert
14. oktober 2008 - 09:29 #3
Hvad hvis du laver en phpinfo() har du så ODBC eller JDBC support i din php installation ?
Avatar billede donslund Nybegynder
14. oktober 2008 - 09:33 #4
Ja, ODBC skulle jeg mene:

odbc
ODBC Support enabled
Active Persistent Links  0 
Active Links  0 
ODBC library  Win32
Avatar billede donslund Nybegynder
14. oktober 2008 - 09:42 #5
Jeg får følgende fejl:

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver., SQL state IM002 in SQLConnect in e:\webopgaver\erez-test\index.php on line 3

Warning: odbc_do(): supplied argument is not a valid ODBC-Link resource in e:\webopgaver\erez-test\index.php on line 5
Avatar billede jakobdo Ekspert
14. oktober 2008 - 09:59 #6
Har du prøvet denne kode: http://www.ibm.com/developerworks/db2/library/techarticle/dm-0409casey/

<?php
$username = "dbadmin";
$password = "testpw";
$dbname = "DB1";
putenv("DB2INSTANCE=DB2");
/* connect to the database with a specified username and password */
$dbconn = odbc_connect($dbname,$username,$password);
...
?>
Avatar billede donslund Nybegynder
14. oktober 2008 - 10:15 #7
Ja, men jeg får stadig samme fejl om AT Datakildenavnet blev ikke fundet.
Avatar billede jakobdo Ekspert
14. oktober 2008 - 10:52 #8
Og din derby database er kørende og acceptere forbindelser ?
Avatar billede donslund Nybegynder
14. oktober 2008 - 10:56 #9
Ja, loggen siger: Apache Derby Network Server - 10.4.1.3 - (648739) started and ready to accept connections on port 1527 at 2008-10-14 07:19:54.942 GMT

Så måske jeg skal have porten med i min connection?
Avatar billede jakobdo Ekspert
14. oktober 2008 - 11:11 #10
Prøv at vis din connect kode.
Avatar billede donslund Nybegynder
14. oktober 2008 - 11:33 #11
Jeg forsøger lige nu med denne:

$username = "db_username";
$password = "db_pass";
$dbname = "db_name";
putenv("DB2INSTANCE=DB2");
/* connect to the database with a specified username and password */
$dbconn = odbc_connect($dbname,$username,$password);
/* override the auto commit option, set autocommit to TRUE */
odbc_autocommit($dbconn, TRUE);
if ($dbconn != 0) {
    print "YES";
} else {
    print "NO";
}
Avatar billede jakobdo Ekspert
14. oktober 2008 - 11:37 #12
Hvordan angiver du db_name ?
Avatar billede donslund Nybegynder
14. oktober 2008 - 11:54 #13
Jeg har forsøgt både med

localhost/db
db
http://localhost/db

Men der er ikke rigtigt noget der virker.
Avatar billede jakobdo Ekspert
14. oktober 2008 - 11:57 #14
Hvad hvis du bruger denne ip: 10.4.1.3
Avatar billede donslund Nybegynder
14. oktober 2008 - 12:34 #15
Datakildenavnet blev ikke fundet, og der er ikke angivet en standarddriver

Samme fejl.

Jeg sidder og tester lokalt, skulle det gøre nogen forskel? Altså på samme maskine som Derby-serveren ligger.
Avatar billede jakobdo Ekspert
14. oktober 2008 - 20:21 #16
Så er jeg desværre løbet tør for ideer og da jeg ikke selv har haft kontakt til en derby server, ved jeg ikke hvad der skal gøres helt præcist. :o(
Avatar billede donslund Nybegynder
15. oktober 2008 - 08:41 #17
Det er helt okay. Tak for din tid. Når jeg finder svaret poster jeg det her.
Avatar billede donslund Nybegynder
15. oktober 2008 - 14:22 #18
Så er der hul igennem.

http://www.ibm.com/developerworks/db2/library/techarticle/dm-0409casey/

Jeg hentede IBM DB2. Deri var driveren til Derby.

Og så tilføjede jeg min DERBY-database som ODBC-kilde og så kunne jeg bruge nedenstående kode i PHP.

$username = "username";
$password = "password";
$dbname = "dbname";
putenv("DB2INSTANCE=DB2");
// connect to the database with a specified username and password
$dbconn = odbc_connect($dbname,$username,$password);
// override the auto commit option, set autocommit to TRUE
odbc_autocommit($dbconn, TRUE);
if ($dbconn != 0) {
    print "YES";
} else {
    print "NO";
}
Avatar billede jakobdo Ekspert
15. oktober 2008 - 14:29 #19
Godt du fik hul igennem. :o)
Avatar billede donslund Nybegynder
06. november 2008 - 09:53 #20
Jeg lukker lige.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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