2013-04-03 2 views
0

ОК, поэтому я создал базу данных mysql на godaddy.com Я создал таблицу admin с тремя полями, идентификатором, именем пользователя и паролем.Ошибка MySQL с помощью Netbeans

В моей программе я подключен к базе данных, и он показывает мне таблицы, так что я знаю его подключен (Netbeans)

Я скачал драйвер Java JDBC и поместить его в библиотеке моего проекта. Однако, когда я запускаю программу, я получаю эту ошибку:

package testdata; 

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


public class TestData { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 

    try 
    { 
    String Name = "rsg"; 
     String Pass= "dfgd"; 
     String Host = "blahhhhhhhhhhhhhhh"; 
     Connection con = DriverManager.getConnection(Host,Name, Pass); 

      Statement stmt = con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 

     String query="DELETE FROM ADMIN"; 
     stmt.executeUpdate(query); 

     String sql = "SELECT * FROM ADMIN"; 
      ResultSet rs = stmt.executeQuery(sql); 


     rs.moveToInsertRow(); 

     rs.updateInt("ID", 1); 
     rs.updateString("Username", "CHRIS"); 
     rs.updateString("Password", "CHRIS");   

     stmt.close(); 
     rs.close(); 
    } 

    catch(Exception e) 
    { 
     System.out.println("ERROR"); 
     e.printStackTrace(); 
    } 


} 
} 

ошибка:

java.sql.SQLException: No suitable driver found for ****THIS IS MY HostName**** 
at java.sql.DriverManager.getConnection(DriverManager.java:604) 
at java.sql.DriverManager.getConnection(DriverManager.java:221) 
at testdata.TestData.main(TestData.java:28) 
+0

Эй @Steven, лучше изменить имя пользователя и пароль. Никогда, *** никогда не ставили свои настоящие верительные грамоты на общественном форуме. – Perception

+0

Его просто тест, они не будут нашими настоящими :) – Steven

ответ

0

добавить MySQL conntector .jar файл в вашем пути к классам.

+0

Я попробовал что-то там. нет разницы. Добавлено его в папку src – Steven

+0

теперь установить банку в пути построения проекта – Biswajit

+0

Как это сделать? спасибо – Steven

0

Я знаю, что это проблема с адресом вашего хоста. Проверьте, как это должно выглядеть в документации MySql.

+0

. Адрес хоста работает, я просто не хотел делиться им со всеми с моим пользователем и паролем: P – Steven

+0

Is строка 28: «Соединение con = DriverManager.getConnection (Host, Name, Pass);»? Если это так, то очевидно, что с адресом что-то не так. Не могли бы вы рассказать мне, какая линия - 28? –

+0

Да, это строка 28, я использую то же имя хоста, что и при добавлении базы данных в сервисы? Таблицы базы данных отображаются для меня? – Steven

0

Неправильная строка подключения JDBC (вы не можете просто использовать имя хоста). Вы должны использовать URL JDBC, который для MySQL принимает вид:

"jdbc:mysql://<hostname>:<port>/<database>" 

Где <port> не является обязательным, если ваш сервер работает на умолчанию, а также является необязательным. Измените метод getConnection к этому:

connection = DriverManager.getConnection(String.format(
     "jdbc:mysql://%s:%s/%s", Host, "3306", "YourDBName"), 
     Name, Pass); 

Заменить «имя_базы_данный» с именем базы данных, которую вы пытаетесь подключиться. Вы также должны иметь MySQL driver JAR в своем пути к классам.

+0

Как насчет имени пользователя и пароля для подключения к базе данных? вам это не нужно? Благодаря! – Steven

+0

@Steven - да, вы делаете. Они включены в пример, который я показал. – Perception

0

использование

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
Connection con = DriverManager.getConnection(DatabaseUrl, DataDaseusername, DatabasePass); 

пример для DatabaseUrl приведен ниже

: MySQL JDBC: //192.168.100.100/databasename

+0

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver \t в java.net.URLClassLoader $ 1.Run (URLClassLoader.java:366) \t в java.net.URLClassLoader $ 1.Run (URLClassLoader.java:355) \t на java.security.AccessController.doPrivileged (нативный метод) \t в java.net.URLClassLoader.findClass (URLClassLoader.java:354) \t в java.lang.ClassLoader.loadClass (ClassLoader.java:423) \t at sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:308) \t at java.lang.ClassLoader.loadClass (ClassLoader.java:356) \t at java.lang.Cla ss.forName0 (Native Method) \t at java.lang.Class.forName (Class.java:188) – Steven

+0

убедитесь, что вы добавили jar-файл соединителя mysql (например: -mysql-connector-java-5.1.13-bin.jar) в файле проекта и используется Class.forName ("com.mysql.jdbc.Driver"). newInstance(); в вашем коде –

+0

@Steven решено? –

0

MySQL-разъем-Java-5.1.22 загрузки из mysql.com

Убедитесь, что вы добавили папку jar в свой проект.

Я считаю, что его ищет com.mysql.jdbc.Driver

убедитесь, что строка подключения является правильным для примера "jdbc:mysql://remot-example-mysql999.servage.net:3306/databasename?zeroDateTimeBehavior=convertToNull";

Смежные вопросы