problem ze sterownikiem jdbc

0

Witam,
Chciałbym napisać program który łączy się z bazą danych mysql (krasnal) udało mi się napisać coś takiego::

import java.sql.*;
/*
 * Created on 2007-08-08
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author Wawrzyniak
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class Polonczenie {
	public static void main(String[] args) {
		String a = null;
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("brak polanczenia :: ClassNotFound");
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("brak polanczenia :: Instantion");
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("brak polanczenia :: IllegalAccess");
		}
		System.out.println("first phase is good");
		try {
			Connection conn = DriverManager
					.getConnection("jdbc:mysql://localhost/krasnal?user=root&password=krasnal");
			Statement st = conn.createStatement();
			ResultSet res = st.executeQuery("SELECT * FROM jednostki");
			while (res.next()) {
				System.out.println(res.getString(1) + "|" + res.getShort(2)
						+ "!!!");
			}
			res.close();
			st.close();
			conn.close();
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			System.out.println("brak polonczenia z baza");
		}
		
	}
}

//W Eclipce

I dostaje komunikat::

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at Polonczenie.main(Polonczenie.java:20)
brak polanczenia :: ClassNotFound
first phase is good
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/krasnal?user=root&password=krasnal
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at Polonczenie.main(Polonczenie.java:37)
brak polonczenia z baza

Wiem że brakuje drivera więc sciągnełem plik mysql-connector-java-3.1.14.zip i i rozpakowałem go ale nie mam pojęcia jak dodać ten sterownik. Proszę więc o pomoc kogoś kto lepiej orientuje się w tym temacie.

0

zakladajac, ze uzywasz Eclipse, klikasz prawym na projekcie, wlasciwosci, java build path, dodajesz do bibliotek odpowiedniego jara i juz...

0

Dziękuję za pomoc ale problem nie został do końca rozwiązany
ściągnałem C:\mysql-connector-java-3.1.14 i dołączyłem pliki mysql-connector-java-3.1.14-bin-g.jar oraz mysql-connector-java-3.1.14-bin.jar bo nie wiedziałem który i po próbie kompliacji kodu


import java.sql.*;

/*
 * Created on 2007-08-08
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author Wawrzyniak
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class Polonczenie {
	public static void main(String[] args) {
		String a = null;

		try {
			try {
				Class.forName("com.mysql.jdbc.Driver").newInstance();
			} catch (InstantiationException e2) {
				// TODO Auto-generated catch block
				e2.printStackTrace();
			} catch (IllegalAccessException e2) {
				// TODO Auto-generated catch block
				e2.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		System.out.println("first phase is good");
		try {
			Connection conn = DriverManager
					.getConnection("jdbc:mysql://localhost/test?user=root&password=pawel241186"); // powoduje blad;
			//Connection conn =
			// Connection.getConnection("jdbc:krasnal:localhost","root","pawel241186");
			Statement st = conn.createStatement();
			ResultSet res = st.executeQuery("SELECT * FROM jednostki");
			while (res.next()) {
				System.out.println(res.getString(1) + "|" + res.getShort(2)
						+ "!!!");
			}
			res.close();
			st.close();
			conn.close();
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			System.out.println("brak polonczenia z baza");
		}

	}
}

dostałem komunikat ::

Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at Polonczenie.main(Polonczenie.java:23)
/*
Ta linia dokładnie powoduje blad;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=pawel241186");
*/

I tak napradę nie wiem co tutaj jest nie tak ale może ktoś wie.

0

Sorry pomyliłem się linia powodująca błąd to oczywiście
Class.forName("com.mysql.jdbc.Driver").newInstance();

0

a po co to newInstance na koncu?
przeciez to nie Ty korzystasz z tej instancji tylko jdbc

pozdrawiam

0

Wez tego jara bez g na koncu, to do trybu debug, a ty poki co sadze ze nie bedziesz debugowac jdbc?

0

Ok wziełem ten z g oraz zlikwidowanłem .newInstance();
ale to nic nie pomogło bo nadal pojawia się komunikat ::

Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at Polonczenie.main(Polonczenie.java:22)
0

Brakuje ci jakiś jarów od AspectJ. Ale po cholerę driverowi MySQL potrzebny AspectJ, tego nie wiem.

0

Mam pytanie Krolik gdzie mogę ściągnąć takie jary, bo nie mam sczerze pojęcia

0

Nie mam pojecia rowniez po co AspectJ, mi dziala bez tego. Sprawdz tutaj:
http://forums.mysql.com/read.php?39,22579,22579

0

zakladajac, ze uzywasz Eclipse, klikasz prawym na projekcie, wlasciwosci, java build path, dodajesz do bibliotek odpowiedniego jara i juz...

Witam,

A jak dodać sterownik jeżeli używam NetBeans pod Linux'em?

Pozdrawiam

Kuba.

0

ktos juz tlumaczyl na forum, ale bardzo podobnie (tylko projekt jest chyba w innym miejscu)

pozdrawiam

0

Na forum nie znalazłem, ale udało mi się dojść samemu

RMB na Projekcie -> Properties -> Libraries -> Zakładka Run -> Add JAR/Folder -> i podajemy ścieżkę do odpowiedniego jar'a

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1