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.
Annonceindlæg fra Infor
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)
20. marts 2003 - 23:06
#2
har du uploadet din .class fil ?
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.
20. marts 2003 - 23:07
#4
arne: Det gør ingen forskel
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.
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å.
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.
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 '
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?
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.
20. marts 2003 - 23:26
#11
Jeg har ikke oprettet en tabel via phpmyadmin. Skal det gøres først?
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.
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.
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?
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 <APPLET> tag but isn't running the applet, for some reason." Your browser is ignoring the <APPLET> tag! </APPLET> <HR> </BODY> </HTML>
20. marts 2003 - 23:31
#16
bare ignorer det, hans udtalelse har intet med dit problem at gøre.
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.
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.
20. marts 2003 - 23:35
#20
prøv med: <APPLET CODE="MySql.class" WIDTH=500 HEIGHT=500 CODEBASE="../driver"> ALT="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is ignoring the <APPLET> 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.
20. marts 2003 - 23:35
#21
Jeg vil prøve jeres råd.
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.
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
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>
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.
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.
24. marts 2003 - 19:53
#27
Hej Disky. Har du fået kigget på det.
24. marts 2003 - 20:07
#28
ups men jeg gør det nu. jeg undskylder
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.
24. marts 2003 - 20:40
#30
kan du lige kontakte mig på ICQ #1413069 ?
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 :((
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.
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.
25. marts 2003 - 13:00
#35
der er skam intet der forbyder komplette løsninger, men jeg har personligt ikke tid til det.
25. marts 2003 - 13:03
#36
Så hjælp os da i det mindste med oplysninger om hvordan driver skal ligge!
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.
Kurser inden for grundlæggende programmering