Avatar billede kres69 Nybegynder
20. marts 2003 - 23:02 Der er 36 kommentarer og
1 løsning

Hjælp til connection mellem Java og MySql

Jeg ved godt at spørgsmålet er blevet stillet tusind gange før. Nu har jeg brugt 5 timer på at lede efter samme problemstilling på eksperten, men har ikke kunnet få noget til at virke.
Jeg har lagt JDBC-driveren ind på mit webhotel.
Jeg har skrevet følgende kode:

import java.applet.*;
import java.sql.*;
public class MySql extends Applet
{
Connection Conn = null;
public void init()
    {
    loadDriver();
    try
        {
        Statement Stmt = Conn.createStatement();
        ResultSet RS = null;
        RS = Stmt.executeQuery("INSERT INTO `tabel` (`gah`) VALUES ('haps')");
        }
    catch (SQLException E)
        {
        System.out.println("GAH! "+E);
        }
    }
public void loadDriver()
    {
    try
        {
        Class.forName("org.gjt.mm.mysql.Driver").newInstance();
        Conn = DriverManager.getConnection("jdbc:mysql://localhost/kriztian_dk?user=kriztian_dk&password=******");
        System.out.println("Driver Loaded & connected :)");
        }
    catch (Exception E)
        {
        E.printStackTrace();
        }
    }

}

Men jeg får stadig denne side:
http://www.kriztian.dk/driver/MySql.html

Hvad gør jeg galt. Jeg begriber det ikke.
Avatar billede arne_v Ekspert
20. marts 2003 - 23:05 #1
Du bruger jdbc:mysql://localhost d.v.s. at MySQL skal ligge
på samme system som appletten kører på !

Det er næppe tilfældet når den er på dit web-hotel.

(husk appletter kører i browseren)
Avatar billede disky Nybegynder
20. marts 2003 - 23:06 #2
har du uploadet din .class fil ?
Avatar billede arne_v Ekspert
20. marts 2003 - 23:06 #3
Derudover bør:
  RS = Stmt.executeQuery("INSERT INTO `tabel` (`gah`) VALUES ('haps')");
ændres til:
  RS = Stmt.executeQuery("INSERT INTO tabel (gah) VALUES ('haps')");
forudsat at tabellen faktisk hedder tabel og feltet hedder gah.
Avatar billede disky Nybegynder
20. marts 2003 - 23:07 #4
arne:
Det gør ingen forskel
Avatar billede arne_v Ekspert
20. marts 2003 - 23:08 #5
Og det nytter iøvrigt heller ikke at appletten kører på samme maskine
som MySQL, fordi hvis det ikke er det samme system som appletten
er downloadet fra, så vil applet security forhindre det.
Avatar billede disky Nybegynder
20. marts 2003 - 23:08 #6
byt localhost ud med det navn som webserveren har, localhost er jo den maskine applet'en kører på.
Avatar billede arne_v Ekspert
20. marts 2003 - 23:12 #7
disky>

Hvis det er quotes du refererer til så giver min MySQL
"You have an error in your SQL syntax" på den slags.
Avatar billede disky Nybegynder
20. marts 2003 - 23:16 #8
tje jeg har lige kørt:
select * from `MemberData`

på min MySQL, virker uden problemmer PHPMyAdmin gør det faktisk selv hele tiden.

Husk det skal være ` ikke ´ eller '
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:24 #9
Adressen på min driver er: driver/org/gjt/mm/mysql/Driver
Adressen på min class-fil: driver/MySql.class
Adressen på min html-fil:  driver/MySql.html

Er det ikke rigtig nok?
Avatar billede arne_v Ekspert
20. marts 2003 - 23:25 #10
Det er muligt det var de forkerte plinger jeg brugte.

Men det kan under alle omstændigheder ikke være smart at bruge MySQL
specifik SQL når det ikke er nødvendig.
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:26 #11
Jeg har ikke oprettet en tabel via phpmyadmin. Skal det gøres først?
Avatar billede disky Nybegynder
20. marts 2003 - 23:27 #12
kres69:
serverens navn er forkert, ret localhost til dens korrekte navn.

arne:
Det gør stadigvæk ingen forskel.
Avatar billede disky Nybegynder
20. marts 2003 - 23:28 #13
den tabel du vil insert'e i skal eksistere før du kan gøre det, men i dit tilfælde kan den ikke finde din MySql klasse

prøv at angiv komplet path i din html kode.
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:28 #14
"Men det kan under alle omstændigheder ikke være smart at bruge MySQL
specifik SQL når det ikke er nødvendig."

Jeg forstår ikke helt? Hvorfor er det ikke smart?
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:30 #15
Min html-kode ser sådan her ud:

    <HEAD>
        <TITLE>MySql Applet</TITLE>
    </HEAD>
    <BODY>
        <H1>MySql Applet</H1>
        <HR>
        <APPLET CODE="MySql.class"
            WIDTH=500
            HEIGHT=500
            CODEBASE=".">
           
            ALT="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
            Your browser is ignoring the &lt;APPLET&gt; tag!     
        </APPLET>
        <HR>
    </BODY>
</HTML>
Avatar billede disky Nybegynder
20. marts 2003 - 23:31 #16
bare ignorer det, hans udtalelse har intet med dit problem at gøre.
Avatar billede disky Nybegynder
20. marts 2003 - 23:32 #17
prøv med:
<APPLET CODE="http://www.kriztian.dk/driver/MySql.class"
istedet for:
      <APPLET CODE="MySql.class"
Avatar billede arne_v Ekspert
20. marts 2003 - 23:32 #18
kres>

Det vil være et problem den dag du skifter fra MySQL til en anden database.

Men det har ganske rigtigt ikke noget med dit her og nu problem at gøre.
Avatar billede disky Nybegynder
20. marts 2003 - 23:32 #19
jeg bruger selv:
<APPLET CODE="PlantSearch.class" CODEBASE="../PlantSearch" ID="PlantSearch"
WIDTH="600" HEIGHT="400">
</APPLET>

på et af mine site.
Avatar billede disky Nybegynder
20. marts 2003 - 23:35 #20
prøv med:

<APPLET CODE="MySql.class"
            WIDTH=500
            HEIGHT=500
            CODEBASE="../driver">
           
            ALT="Your browser understands the &lt;APPLET&gt; tag but isn't running the applet, for some reason."
            Your browser is ignoring the &lt;APPLET&gt; tag!     
        </APPLET>


ved godt det ser lidt mystisk ud, men jeg måtte gøre det for at få det til at virke i alle browsere på mit site.
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:35 #21
Jeg vil prøve jeres råd.
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:40 #22
Disky
"serverens navn er forkert, ret localhost til dens korrekte navn."

Jeg tror at det er lokalhost. Jeg har b-one.nu. Jeg har modtaget disse oplysninger.

MySQL:
Host: localhost
Database: kriztian_dk
Brugernavn (User): kriztian_dk
Kodeord (Password): 62IBdqRm

Der står dog intet om server.
Avatar billede disky Nybegynder
20. marts 2003 - 23:45 #23
set fra webserverens synspunkt er det korrekt at det er localhost, men applet'en kører jo på min maskine når jeg besøger din side, og så er localhost pludselig min maskine.

ret localhost til:

www.kriztian.dk

som er navnet på din server
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:57 #24
HTML-KODEN:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<applet code="MySql.java" codebase = "http://www.kriztian.dk/driver/" width="150" height="150">
</applet>
</body>
</html>
Avatar billede kres69 Nybegynder
20. marts 2003 - 23:58 #25
APPLET:

import java.applet.*;
import java.sql.*;
public class MySql extends Applet
{
Connection Conn = null;
public void init()
    {
    loadDriver();
    try
        {
        Statement Stmt = Conn.createStatement();
        ResultSet RS = null;
        RS = Stmt.executeQuery("INSERT INTO `tabel` (`gah`) VALUES ('haps')");
        }
    catch (SQLException E)
        {
        System.out.println("GAH! "+E);
        }
    }
public void loadDriver()
    {
    try
        {
        Class.forName("driver.org.gjt.mm.mysql.Driver").newInstance();
        Conn = DriverManager.getConnection("jdbc:mysql://www.kriztian.dk/kriztian_dk?user=kriztian_dk&62IBdqRm=");
        System.out.println("Driver Loaded & connected :)");
        }
    catch (Exception E)
        {
        E.printStackTrace();
        }
    }

}


Det virker stadig ikke. Jeg har været inde i phpmyadmin og oprette en tabel ved navn gah, og derefter en værdi ved navn haps (der burde måske ikke defineres en værdi i forvejen).

Disky, jeg kom til at skrive passwordet til min phpmyadmin og mysqldatabase. Kan jeg ikke bede dig om, at få det til at virke? For jeg aner simpelthen ikke hvad der er galt.
Avatar billede disky Nybegynder
21. marts 2003 - 06:35 #26
Hejsa

Jo det skal jeg nok, men jeg er først hjemme igen søndag aften.
Der kigger jeg på det.

Jeg prøvet at få det til at virke på min egen server, men det skulle ikke gøre en forskel.
Avatar billede kres69 Nybegynder
24. marts 2003 - 19:53 #27
Hej Disky. Har du fået kigget på det.
Avatar billede disky Nybegynder
24. marts 2003 - 20:07 #28
ups

men jeg gør det nu.

jeg undskylder
Avatar billede kres69 Nybegynder
24. marts 2003 - 20:19 #29
Du behøver ikke at undskylde. Hvis du kan få det til at funke, så er jeg dig evigt taknemmelig.
Avatar billede disky Nybegynder
24. marts 2003 - 20:40 #30
kan du lige kontakte mig på ICQ #1413069 ?
Avatar billede disky Nybegynder
24. marts 2003 - 20:42 #31
det vil overhovedet ikke som jeg vil, en applet jeg lavede for 100 år siden (cirka) funker fint, men din kan jeg ikke lige få til at makke ret :((
Avatar billede japlex Nybegynder
25. marts 2003 - 09:59 #32
Må vi ikke lige se den applet du siger virker - Jeg har en lignende problemstilling (se http://www.eksperten.dk/spm/332995)
Avatar billede disky Nybegynder
25. marts 2003 - 10:07 #33
Den applet han fik, connectede ikke til en database, problemmet er ikke forbindelsen til databasen, men det at få den dumme applet til overhovedet at ville starte igen.
Avatar billede japlex Nybegynder
25. marts 2003 - 12:28 #34
Kan ud så ikke hjælpe mig med kode til en applet der connecter til en MySQL.

Derudover skal jeg vide hvilken driver der skal bruges, hvor jeg finder den og hvor den skal placeres.

Jeg kører Redhat - Lad os fortsætte på http://www.eksperten.dk/spm/332995 så du kan få point.

Jeg har ikke kunnet finde noget i Ekspertens regelsæt der taler imod at bede om hjælp til fuldstændige løsninger.
Avatar billede disky Nybegynder
25. marts 2003 - 13:00 #35
der er skam intet der forbyder komplette løsninger, men jeg har personligt ikke tid til det.
Avatar billede japlex Nybegynder
25. marts 2003 - 13:03 #36
Så hjælp os da i det mindste med oplysninger om hvordan driver skal ligge!
Avatar billede disky Nybegynder
25. marts 2003 - 14:07 #37
driveren skal ligge sammen med .class filerne, om den skal pakkes ud af jar filen er jeg lidt i tvivl om.
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