я пытаюсь установить JDBC, но я не знаю, как, когда у Вас только есть файл банки, я скопировал его в свою папку расширения Java, но это продолжает давать мне ошибку, кто-либо может показать мне, как завершиться, устанавливают драйвер и используют его?
ниже коды, которые я использовал
import java.sql.*;
public class Test1
{
public static void main (String[] args)
{
String url = "jdbc:mysql://localhost:3306/sabayafr_sabmah";
String username = "root";
String password = "ma";
Connection connection = null;
try {
System.out.println("Connecting database...");
connection = DriverManager.getConnection(url, username, password);
System.out.println("Database connected!");
} catch (SQLException e) {
System.err.println("Cannot connect the database!");
e.printStackTrace();
} finally {
System.out.println("Closing the connection.");
if (connection != null) {
try {
connection.close();
} catch (SQLException ignore) {
}
}
}
}
}
И ниже Ответ, который я получаю
Cannot connect to database server
Обновление № 3
C:\Users\AlAsad\Desktop>java -cp .;mysql-connector-java-5.0.8-bin.jar Test1
Connecting database...
Cannot connect the database!
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
sabayafr_sabmah
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Test1.main(Test1.java:12)
Closing the connection.
Вы пытаетесь подключить MySQL с URL-адресом драйвера JDBC jTDS , который разработан специально для Microsoft SQL Server . Это никогда не сработает. Даже не тогда, когда вы исправите текущую проблему, поместив файл JAR в путь к классам.
Вам действительно нужен драйвер MySQL JDBC . Также см. этот ответ для получения краткого, но полного руководства
С другой стороны, если вы используете IDE, такую как Netbeans или Eclipse, вы можете добавить jar-файл как ресурс в проект.
У вас определенно есть проблемы с JDBC, но исключение вам об этом не говорит. Прочтите еще раз:
Exception in thread "main" java.lang.NoClassDefFoundError: Test1
Caused by: java.lang.ClassNotFoundException: Test1
Это ваш Test1.class, который он не может найти, а не драйвер JDBC.
Вы не должны ничего копировать в каталог jre / lib / ext. Это для расширений библиотеки, а не для JDBC JAR. Это не было костылем для людей, которые не понимают, как работает CLASSPATH.
Я бы написал это скорее так. Эти близкие методы пригодятся.
Когда я запускаю его на своем компьютере и добавляю MySQL JDBC JAR в свой CLASSPATH, я получаю следующий результат:
C:\java -classpath .\mysql-connector-java-5.1.6-bin.jar; persistence.utils.DatabaseUtils
product: MySQL
version: 5.1.24-rc-community
major : 5
minor : 1
Вот исходный код:
package persistence.utils;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DatabaseUtils
{
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/contacts";
public static final String USERNAME = "contacts";
public static final String PASSWORD = "contacts";
public static void main(String[] args)
{
Connection connection = null;
try
{
String driver = ((args.length > 0) ? args[0] : DRIVER);
String url = ((args.length > 1) ? args[1] : URL);
String username = ((args.length > 2) ? args[2] : USERNAME);
String password = ((args.length > 3) ? args[3] : PASSWORD);
connection = getConnection(driver, url, username, password);
DatabaseMetaData metaData = connection.getMetaData();
System.out.println("product: " + metaData.getDatabaseProductName());
System.out.println("version: " + metaData.getDatabaseProductVersion());
System.out.println("major : " + metaData.getDatabaseMajorVersion());
System.out.println("minor : " + metaData.getDatabaseMinorVersion());
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
close(connection);
}
}
public static Connection getConnection(String driver, String url, String username, String password) throws ClassNotFoundException, SQLException
{
Connection connection = null;
Class.forName(driver);
connection = DriverManager.getConnection(url, username, password);
return connection;
}
public static void close(Connection connection)
{
try
{
if (connection != null)
{
connection.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public static void close(Statement statement)
{
try
{
if (statement != null)
{
statement.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public static void close(ResultSet resultSet)
{
try
{
if (resultSet != null)
{
resultSet.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public static void rollback(Connection connection)
{
try
{
if (connection != null)
{
connection.rollback();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
'Я пытаюсь установить JDBC'
Вам не нужно устанавливать JDBC. Это часть JDK & JRE.
Библиотека, содержащая драйвер (net. sourceforge.jtds.jdbc.Driver
) должна быть в classpath.
Предполагая, что вы запускаете свое приложение с
java Test1
тогда просто сделайте
java -cp .;driver.jar Test1
где 'driver.jar' должен быть заменен на имя файла (относительный или полный путь) вашей библиотеки драйвера базы данных.
EDIT
Учебник по classpath будет в разделе комментариев под этим вопросом. Пожалуйста, выпейте чашку кофе и посмотрите эту страницу. Это, скорее всего, поможет вам продолжить.