Mc FettoMedlem sedan nov. 20021 920 inlägg Jag försöker få till en koppling till en mysql databas.
jag får följande felmedelande i dospromten:
SQLException: No suitable driver
SQLState: 08001
VendorError: 0
Press any key to exit
Jag har lagt till sökvägen i classpath:
set CLASSPATH=%CLASSPATH%;C:\j2sdk1.4.1\mysql-connector-java-3.0.7-stable
import java.sql.*;
public class db
{
private db()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception E)
{
System.err.println("Driven kunde ej hittas på server");
System.exit(0);
}
connect();
}
private void connect()
{
try
{
Connection C = DriverManager.getConnection("jdbc:mysql:/localhost:3306","root", "");
Statement Stmt = C.createStatement();
String sqlPhrase = "SELECT * FROM table";
ResultSet RS = Stmt.executeQuery(sqlPhrase);
//För delete och uppdatering: Stmt.executeUpdate(sqlPhrase);
while(RS.next())
{
System.out.println(RS.getString("name"));
}
RS.close();
Stmt.close();
C.close();
}
catch (SQLException E)
{
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
}
public static void main(String[] argv)
{
new db();
}
}
Databasen ligger på min burk: localhost
User: root
port 3306
Någon som har tips, ide eller helt enkelt vet vad det är för fel får ni gärna skriva lite :)
ViktorMedlem sedan aug. 20021 710 inlägg Du laddar fel driver, du ska ladda drivern för MySQL
Class.forName("com.mysql.jdbc.Driver");
Sen var det även lite fel i din DriverManager kod också (tror jag, har inte provat)
Connection C = DriverManager.getConnection("jdbc:mysql:/localhost:3306","root", "");
ska vara
Connection C = DriverManager.getConnection("jdbc:mysql://localhost:3306","root", "");
du behöver inte ange någon port om du kör default porten på MySQL.
Lite extra :)
Om du sedan vill ansluta till en speciel database, tex test så skriver du såhär
Connection C = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root", "");
En annan sak är att när du laddat ner "mysql-connector-java-3.0.7-stable.zip" så räcker det med att lägga filen "mysql-connector-java-3.0.7-stable-bin.jar" i katalogen "C:\j2sdk1.4.1\lib\", sedan lägger du sökvägen, "C:\j2sdk1.4.1\lib\mysql-connector-java-3.0.7-stable-bin.jar" i din classpath så ska det fungera. Det är bara jar filen som du behöver.
/Viktor
Mc FettoMedlem sedan nov. 20021 920 inlägg Har gjort precis allt som du säger
men den här delen:
try
{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception E)
{
System.err.println("Driven kunde ej hittas på server");
System.exit(0);
}
connect();
}
skrivs ut! altså att den inte hittades
ViktorMedlem sedan aug. 20021 710 inlägg Konstigt, jag körde denna kod,
import java.sql.*;
public class Test
{
public static void main(String[] argv)
{
new db();
}
}
class db
{
public db()
{
try
{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception E)
{
System.err.println("Driven kunde ej hittas på server");
System.exit(0);
}
connect();
}
private void connect()
{
try
{
Connection C=DriverManager.getConnection("jdbc:mysql://192.168.0.12/gt3", "root", "");
Statement Stmt= C.createStatement();
String sqlPhrase= "SELECT * FROM gt3_driver";
ResultSet RS= Stmt.executeQuery(sqlPhrase);
while (RS.next())
{
System.out.println(RS.getString("name"));
}
RS.close();
Stmt.close();
C.close();
}
catch (SQLException E)
{
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
}
}
på min dator med bara "./" och sökvägen till "mysql-connector-java-3.0.7-stable-bin.jar" i classpath och det fungerar perfekt. Jag tror att det är något fel i din classpath, koden är det inget fel på.
/Viktor
Mc FettoMedlem sedan nov. 20021 920 inlägg Skulle du vilja klippa in hin Classppath ifrån dos-promt så jag kan se om jag har missat ngn detalj? Har suttit med detta problemet nu ett tag och börjar tappa håret :(
ViktorMedlem sedan aug. 20021 710 inlägg ./;D:\Java\j2sdk1.4.1_01\lib\mysql-connector-java-3.0.7.jar
Det är allt :)
/Viktor
Mc FettoMedlem sedan nov. 20021 920 inlägg skit skumt, får det tusan inte att fungera, vad skriver du exakt för att få in de två sökvägarna i dos-promten + hur får man dessa att ligga kvar efter man har startat om datorn!?
ViktorMedlem sedan aug. 20021 710 inlägg Vad kör du för OS?
Windows 9X
Autoexec.bat
set CLASSPATH=./;D:\Java\j2sdk1.4.1_01\lib\mysql-connector-java-3.0.7.jar
Windows XP, 2000 och NT, välj "Enviroment Variables" och skapa en ny som du döper till CLASSPATH och där skriver du
./;D:\Java\j2sdk1.4.1_01\lib\mysql-connector-java-3.0.7.jar
/Viktor
Mc FettoMedlem sedan nov. 20021 920 inlägg konstigt, det funkar fortfarande inte, min fil heter ifs: mysql-connector-java-3.0.7-stable-bin.jar. finns ingen med det namn du skrev! kan det vara fel ver jag har eller vad kan det annars vara!?
Tack för all hjälp !
ViktorMedlem sedan aug. 20021 710 inlägg Du har rätt fil, det är bara jag som har bytt namn på den som jag har installerad :)
/Viktor
Mc FettoMedlem sedan nov. 20021 920 inlägg Var ju tvungen att starta om datorn efter jag satt CLASSPATH i environment... :r . Nu börjar det bli nomala fel igen :)
Tack för all hjälp :e