2014-10-29 2 views
0

Я новичок в кодировке Java DB ...Java SQL соединение отказался исключение

Это мой Java-код

Connection conn = null; 
Statement stmt = null; 
Class.forName("com.mysql.jdbc.Driver"); 
System.out.println("Connecting to database..."); 
conn = DriverManager.getConnection("jdbc:mysql://localhost/EMP",USER,PASS); 
System.out.println("Creating statement..."); 
stmt = conn.createStatement(); 
String sql; 

Это исключение я получаю:

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/tiles].[default]] (http-localhost-127.0.0.1-8080-1) Servlet.service() for servlet default threw exception: java.net.ConnectException: Connection refused: connect 

I am mySQL-сервер также работает и содержит простую таблицу с именем EMP. Я не полностью интерпретирую URL-адрес получателя. Может кто-нибудь объяснить это кратко?

Спасибо.

+0

«соединение отказано» = db не работает, порт tcp брандмауэром, гнездо находится в неправильном месте, бла-бла-бла. –

+0

Посмотрите на файл журнала сервера, чтобы узнать, что происходит. – Jens

+3

Вы пытаетесь подключиться к серверу SQL Express с помощью драйвера MySQL? – RealSkeptic

ответ

1

Вы используете неправильный драйвер для базы данных. Каждая база данных (MySQL, PostgreSQL, SQL Server, Oracle и т. Д.) Имеет другой драйвер, который соединяет между JDBC и протоколом связи конкретной базы данных.

Вам нужен драйвер Microsoft SQL Server. Вы можете скачать и установить его здесь, если у вас его еще нет: Microsoft down page for JDBC 4.0 driver.

И вот instructions о том, как добавить банку в свой путь к классам и какой URL использовать. Обратите внимание, что в JDBC 4.0 и выше forName больше не требуется.

0

Из того, что я вижу и понимаю, вам не хватает порта.

вы бы сделали это таким образом:

Conn = DriverManager.getConnection ("JDBC: MySQL: // локальный: 3306/EMP", USER, PASS);

URL-адрес может быть описан таким образом

: JDBC, который ваш разъем MySQL: что является текущей базой данных установлены // имя хоста: которой машина размещается сервер Portnumber: порт, который позволяет соединение для сервера /databaseName: это ваша созданная база данных.

надеюсь, что это было полезно

+0

и, как поясняется @RealSkeptic, попробуйте проверить свой путь и правильно ли установлена ​​ваша база данных. – mkwilfreid

0

Скачать драйвер Microsoft JDBC и использовать Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);

Если проблема остается включить/сетевой протокол IP TCP, которая отключена по умолчанию, и установить/IP порт TCP для 1433, который является номером порта по умолчанию.

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