java +sql

0

Witam,
mam baze danych o nazwie 'byczabaza' na webserv, pragnę się z nią połączyć w języku JAVA. Oto mój fragment kodu:

String url = "jdbc//localhost/byczabaza";
String username = "root";
String password = "";

Statement s = null;
Connection c = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception e) {
System.err.println("Blad ladowania sterownika JDBC/ODBC.");
}
try {
c = DriverManager.getConnection (url, username, password);
s = c.createStatement();
} catch (Exception e) {
System.err.println("Wystapil problem z polaczeniem do " + url);
}

No i cóż, występuje problem z połączeniem do bazy. Zapewne mój problem polega na błędnej formie zmiennej url ?
btw. Nie konfigurowałem nic ani w narzędziach administracyjnych (źródła danych odbc), oraz w żaden sposób nie konfigurowałem WebServa.

Liczę na pomoc.

0

Zamień

catch (Exception e) {
System.err.println("Wystapil problem z polaczeniem do " + url);
}

na

catch (Exception e) {
System.err.println("Wystapil problem z polaczeniem do " + url+"\n"+e);
}

to dostaniesz więcej informacji o przyczynach niepowodzenia.

0

Tak uczyniłem, oto rezultat:
Wystapil problem z polaczeniem do jdbc//localhost/byczabaza
java.sql.SQLException: [Microsoft][Menedżer sterowników ODBC] Nie można odnaleźć nazwy źródła danych, a nie ma podanego sterownika domyślnego

Co w związku z tym? Pewnie jednak trzeba dodać sterownik ODBC w panelu sterowania? Jednak który wybrać i co wpisać w nazwie serwera? (próbowałem wielu opcji i nie trafiłem na tę poprawną).

0

problem polaczenia z baza byl na tym forum poruszany wiele razy. Opcja 'szukaj' ;). Musisz sciagnac odpowiedni sterownik w formie jara dodac go do projektu i czasem trzeba dopisac sciezke w CLASSPATH. Nie jeden dluzszy problem z tym zwiazany znajdziesz na tym forum.

0

Tak, przekopałem się przez kilkanaście wątków. Wgrałem mysql-connectora, ale teraz mam inny błąd, mianowicie:
Wystapil problem z polaczeniem do jdbc//localhost/byczabaza
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

  • BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Permission denied: connect

STACKTRACE:

java.net.SocketException: Permission denied: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2744)
at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DB.<init>(DB.java:25)
at MAIN.main(MAIN.java:9)

  • END NESTED EXCEPTION **

Last packet sent to the server was 1 ms ago.

0

chcesz podpiac sie do bazy Mysql? pewny jestes ze nie masz hasla ustawionego w bazie? wklejaj cala klase odpowiedzialna za polaczenie z baza.

0

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

class DB {

String url = "jdbc:mysql://localhost/byczabaza";
String username = "root";
String password = "";

Statement s = null;
Connection c = null;

//sun.jdbc.odbc.JdbcOdbcDriver
public DB(String nazwa) throws SQLException{
try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Class.forName ("com.mysql.jdbc.Driver").newInstance ();

		} catch (Exception e) {
			System.err.println("Blad ladowania sterownika JDBC/ODBC."+"\n"+e);
		}
	try {
		c = DriverManager.getConnection (url, username, password);
		s = c.createStatement();
	} catch (Exception e) {
		System.err.println("Wystapil problem z polaczeniem do " + url+"\n"+e);
	}
	
}

do bazy nie ma żadnego hasła. Baza jest utworzona przez phpMyAdmin z WebServa.

0

Taki kod u mnie dziala:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
        

        String url = "jdbc:mysql://localhost/p2p";
        String username = "root";
        String password = "adminadmin";
        
        Statement s = null;
        Connection c = null;
        public static void main(String[] args){
        	try {
				DB a = new DB();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
//sun.jdbc.odbc.JdbcOdbcDriver
        public DB() throws SQLException{
                try {
                        DriverManager.registerDriver(new com.mysql.jdbc.Driver());
                        Class.forName ("com.mysql.jdbc.Driver").newInstance ();

                        } catch (Exception e) {
                                System.err.println("Blad ladowania sterownika JDBC/ODBC."+"\n"+e);
                        }
                try {
                        c = DriverManager.getConnection (url, username, password);
                        s = c.createStatement();
                } catch (Exception e) {
                        System.err.println("Wystapil problem z polaczeniem do " + url+"\n"+e);
                }
                
        }
}
0

hmm w takim razie może OS ma tu coś do rzeczy? Na Viście (zainstalowana z uwagi na to że była od początku na nowym sprzęcie) nie śmiga. A już na XPku u znajomego owszem...

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