Avatar billede mads375 Juniormester
08. juli 2013 - 12:43 Der er 18 kommentarer og
1 løsning

SQL sti

Hej.

Jeg er igang med at connecte min SQL database via java. Jeg har fået skrevet java koden, som burde være rigtig:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Login {
   
public static void main(String[]args) throws Exception {
   
    //Access the driver from the JAR file
    Class.forName("com.mysqljdbc.Driver");
   
    //Creating a variable for the connection called con
    Connection con = DriverManager.getConnection("jdbc.mysql://:localhost:8080/db1", "root", "root");
    //root 1 is the database user
    //root 2 is the database password
   
    //Here the query is created
    PreparedStatement statement = con.prepareStatement("select * from UserName");
   
    //Create a variable to execute query
    ResultSet result = statement.executeQuery();
   
    while(result.next()) {
       
        System.out.println(result.getString(1) + " " + result.getString(2));
    }
    }
}

Når jeg kører den på serveren får jeg en 404 fejl. Det som jeg tænker er at stien er forkert. Er der et sted hvor jeg kan se den korrekte sti til min sql MYSQL database? Jeg har fået installeret jdbc connecteren og importeret den ind i eclipse. MYSQL kører jeg via MAMP.

Mvh Mads
Avatar billede erikjacobsen Ekspert
08. juli 2013 - 16:12 #1
Der er flere ting, der lyder forkert.

1) Du kan ikke forbinde dig til en mysql-server med en browser - hvis altså, det er hvad der giver dig en 404-fejl

2) Din connectionstring er syntaktisk forkert - du skriver

  "jdbc.mysql://:localhost:8080/db1"

men det skal være:

  "jdbc:mysql://localhost:8080/db1"

(det kan også være eksperten.d der driller)

3) Og vigtigst af alt, så er mysql-serveren oftest på port 3306, som du kan skrive

  "jdbc:mysql://localhost:3306/db1"

eller undlade

  "jdbc:mysql://localhost/db1"
Avatar billede mads375 Juniormester
08. juli 2013 - 16:17 #2
Hej igen. Mange tak for svaret:-)

Nøj det er irriterende. Jeg har prøvet at installere MySQLworkbench også, hvor jeg har tilføjet connecteren og startet min sql server.

Jeg laver en ny forbindelse, hvor localhost er 127.0.0.1:3306. Fra eclipese har jeg prøvet dette:

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

public class TestConnection {
    public static void main(String[] args) {
        try {
                Class.forName("com.mysql.jdbc.Driver");
                System.out.println("Loaded driver");
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:127.0.0.1:83306/mysql?user=root&password=root");
                System.out.println("Connected to MySQL");
                con.close();
        }
        catch (Exception ex) {
                ex.printStackTrace();
        }
    }
}

Men får stadigvæk 404. Har du/i andre ideer til hvad det kan være? jeg sidder bare fuldstændig fast ift mit projekt jeg er igang med :-/
Avatar billede mads375 Juniormester
08. juli 2013 - 16:18 #3
Hov undskyld. Her er den rigtige kode:

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

public class TestConnection {
    public static void main(String[] args) {
        try {
                Class.forName("com.mysql.jdbc.Driver");
                System.out.println("Loaded driver");
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:127.0.0.1:3306/mysql?user=root&password=root");
                System.out.println("Connected to MySQL");
                con.close();
        }
        catch (Exception ex) {
                ex.printStackTrace();
        }
    }
}
Avatar billede erikjacobsen Ekspert
08. juli 2013 - 16:27 #4
Du skal ikke blande ting sammen.

4) Hvad gør du for at få en 404-fejl? Det tyder på du slet ikke forstår hvad der sker.

5) Din connectionstring skal være som i min 3) ovenfor. Du skal ikke begynde at ændre noget, som du ikke forstår. Du skal derfor bare:

    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/db1", "root", "root");

hvis din database hedder db1, og password til root er "root". Du må også gerne:

    Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/db1", "root", "root");

men det bør være det samme.
Avatar billede mads375 Juniormester
08. juli 2013 - 16:50 #5
Tak for svaret. Jeg blander ting sammen garanteret, da jeg er ny i det her. Jeg har lige taget et par screenshots:

Min eclipse ser nu sådan ud:

http://postimg.org/image/fevv519l9/

Min sql database ser sådan ud:

http://postimg.org/image/nrlzijhy7/

Min fejl ser sådan ud:

http://postimg.org/image/u8u03pe79/

Håber i kan hjælpe mig i mål med det? :-/

Mvh Mads
Avatar billede erikjacobsen Ekspert
08. juli 2013 - 17:11 #6
Okay så. Du skal bare køre den .java du har som en java-applikation - bare som en konsol app.

Ellers skal du i gang med at lave JSP eller JSF filer, før du kan teste den.
Avatar billede mads375 Juniormester
08. juli 2013 - 17:37 #7
Ok mange tak for det. Har en fornemmels af at password er forkert? Jeg får denne fejl:

http://postimg.org/image/vj3mjr4ix/

Kan man se password et sted? Jeg ved at root er brugernavnet, men kan ikke komme i tanke om jeg har lavet et password nogensinde
Avatar billede mads375 Juniormester
08. juli 2013 - 17:38 #8
Dette screenshot er bedre:

http://postimg.org/image/noiy8mjad/
Avatar billede erikjacobsen Ekspert
08. juli 2013 - 17:45 #9
Måske skal du bare lade password være tomt. Altså anden forekomst af "root" skal bare være "".
Avatar billede mads375 Juniormester
08. juli 2013 - 17:47 #10
Har jeg lige prøvet. Virker heller ikke :-/
Avatar billede mads375 Juniormester
08. juli 2013 - 17:50 #11
Tænker bare lidt.. Når jeg kører den som java applikation står der øverst i adresselinjen 8080:

http://postimg.org/image/wsez324kn/

det har ikke nogen betydning?
Avatar billede mads375 Juniormester
08. juli 2013 - 17:51 #12
Nu når jeg angiver det som localhost 3306 i min java
Avatar billede mads375 Juniormester
08. juli 2013 - 18:16 #13
Godt nu prøvede jeg at se det fra terminalen, og når jeg skriver root i passwrod, får jeg denne fejl:

http://postimg.org/image/y9iif0wpz/

Så nu skal jeg så bare have fundet ud af hvad mit password er. Spændende...
Avatar billede erikjacobsen Ekspert
08. juli 2013 - 18:29 #14
På en måde er det vel spændende...

a) Default password i en MAMP-installation burde være: root
b) Ellers er default password tomt:
c) Og ellers kan det være man selv skrev et under eller efter installation.
Avatar billede mads375 Juniormester
08. juli 2013 - 18:43 #15
jeg prøver lige at reinstallere MAMP, hvis det ikke virker må jeg give op. Kan snart ikke mere, men jeg er meget glad for din hjælp, tak
Avatar billede mads375 Juniormester
09. juli 2013 - 11:04 #16
Jeg må nok efterhånden give op, jeg kan simpelthen ikke se hvad der skulle være galt. Der er vel ikke en der har lyst til at se på det via teamviewer? Vil gerne give lidt for det hvis det er.

Mvh Mads
Avatar billede mads375 Juniormester
10. juli 2013 - 13:12 #17
Hej Erik. Mange tak for hjælpen, ligger du ikke et svar? Jeg oprettet et nyt spørgsmål, da jeg har formateret min computer, og starter helt forfra med det. Jeg har en anelse om jeg har rodet med terminalen og gjort nogle forkerte ting. Jeg opretter ihvertfald en helt ny tråd, så håber du evt har ideer der.

Mvh Mads
Avatar billede mads375 Juniormester
15. juli 2013 - 16:46 #18
Hej Erik.

Jeg oprettede en ny profil på computeren, og så virkede det. Skal vi dele pointene?
Avatar billede mads375 Juniormester
22. juli 2013 - 14:16 #19
Kan se Erik ikke samler på point udfra hans profil tekst, så tager pointene her igen. Skriv hvis det ikke er ok, og tak for hjælpen :-)

Mvh Mads
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