Avatar billede superanden Nybegynder
12. august 2008 - 22:08 Der er 7 kommentarer og
1 løsning

Java: MySQL til Excel

Hej Eksperter.

Jeg har tidligere lavet java applikationer som læser fra exceldata og disse kan også modificeres til at kunne skrive til excel ark.


Men jeg har aldrig nogen sinde prøvet at arbejde med MySQL i java. Jeg har en lille tabel i en mysql database (150 rækker x 4 kolonner). Som jeg gerne vil hive ind i min java applikation og så bearbejde den og skrive resultatet i en excel fil.

Først har jeg et spørgsmål til. Hvad er den bedste dataform at hive dem ind i java programmet på.? Tænkte på at oprette et 2 dimentionelt statisk array da programmet kun skal køre for at oprette filen og så lukkes igen. Der vil altså ikke blive skrevet til databasen mens programmet kører.

Hvis et 2 dimentionelt statisk array er en god måde at arbejde med data'ne på, er der så nogen der kan lave et kode eksempel på hvordan jeg connecter til en MySQL database som ligger på www og smider dataerne ind i et array.? (Går ud fra der skal bruges en ODBC driver)

Håber nogen kan hjælpe.

Hvis andre kender nogen allerede eksisterende moduler hører jeg da gerne om dem.

På forhånd tak
Mvh Anders
Avatar billede arne_v Ekspert
12. august 2008 - 22:13 #1
Du downloader og udpakker MySQL Connector for Java - og bruger saa den.

Database API er stadig JDBC, men du slipper for ODBC laget.

Jeg vil ikke anbefale et 2 dimensionelt array af type Object eller String.

Jeg vil anbefale en data klasse med private field + public getter og setter for
kolonner, og saa en ArrayList af denne klasse til alle data.

Det kraever naturligvis at du kan connecte direkte til databasen.
Avatar billede arne_v Ekspert
12. august 2008 - 22:15 #2
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://dinserver/dindatabase", "ditbrugernavn", "ditpassword");

vil give dig en connection.
Avatar billede superanden Nybegynder
12. august 2008 - 23:27 #3
Tak for det hurtige svar.

Jeg har forsøgt mig med det du sagde, har downloadet mysql-connecter-3.1.14-bin.jar og tilføjet den til mit classpath. Så har jeg lavet en fil test.java som skal forbinde til databasen db.vedbaek-rideklub.dk som ligger på www og tabellen staevne_tilmelding med min bruger og password. Men der sker en eller fejl for systemet melder tilbage "Der er sket en fejl" i stedet for Forbindelse etableret.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class test {
    public static void main(String[] args) {
        try{
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://db.vedbaek-rideklub/staevne_tilmelding", "bruger", "pass");
        System.out.println("Forbindelse etableret!");
       
        }
        catch (Exception ex){
        System.out.println("Der er sket en fejl!");
        }   
    }
}
Avatar billede arne_v Ekspert
13. august 2008 - 01:02 #4
catch (Exception ex){
            System.out.println("Der er sket en fejl: " + ex);
        } 

vil fortælle dig hvad fejlen er.

Er du sikker på at der er adgang til databasen udefra ?
Avatar billede arne_v Ekspert
13. august 2008 - 01:02 #5
Hov.

db.vedbaek-rideklub != db.vedbaek-rideklub.dk
Avatar billede superanden Nybegynder
17. august 2008 - 17:02 #6
Efter at have rettet fejlen, har jeg fået det til at virke.

Har dog lidt problemer med at få classpath i kommandopromten til at virke, og det samme med i Eclipse. Men hev blueJ frem for det var jeg sikker på jeg havde brugt classpath i før og nu virker det også.

1000 tak for hjælpen. Læg gerne et svar.
Avatar billede arne_v Ekspert
17. august 2008 - 18:33 #7
svar
Avatar billede arne_v Ekspert
17. august 2008 - 18:35 #8
I Eclipse skal du ind i project, properties, build path, libraries, add external jar !
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