Я сталкиваюсь с некоторыми проблемами при попытке подключиться к удаленному экземпляру SQL Server 2008 Express из Java.Вот особенности:
- Сервер БД: Windows 7 под управлением SQL Server 2008 Express
- Клиент: Mac OS X (10.6.8) под управлением Java (1.6.0) с использованием JDBC4драйверы
Вот код:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public abstract class SQLDatabase {
protected Connection c;
protected void establishConnection() {
try {
String url = "jdbc:sqlserver://MYSERVERNAME\\SQLEXPRESS;DatabaseName=MyDatabase;user=sa;password=pwd";
c = DriverManager.getConnection(url);
} catch (SQLException e) {
System.err.println("SQLException: " + e.getMessage());
}
}
}
Когда он попадает в строку "DriverManager.getConnection", он генерирует исключение:
Соединениедля хоста MYSERVERNAME произошел сбой именованного экземпляра sqlexpress.Ошибка: "java.net.UnknownHostException: MYSERVERNAME".Проверьте имена серверов и экземпляров, убедитесь, что ни один брандмауэр не блокирует трафик UDP на порт 1434, а для SQL Server 2005 или более поздней версии убедитесь, что на хосте запущена служба браузера SQL.
Послерасширенный поиск в Google, вот все связанные с этим проблемы, которые я решил, и вещи, которые я пробовал:
SQL Server (на сервере БД Windows 7)
Настройки брандмауэра (на сервере БД Windows 7)
версий JRE (на сервере OS X Java)
- Пробные версии 1.4, 1.5 и 1.6.0, все стот же результат (/5884113/driver-getconnection-zavisaet-s-ispolzovaniem-draivera-sqlserver-i-java-1-6-029)
URL-адрес соединения (в коде Java)
- Пробовал jdbc: sqlserver: // MYSERVERNAME / SQLEXPRESS; DatabaseName = MyDatabase; user = sa; пароль =pwd
- Пробовал jdbc: sqlserver: // MYSERVERNAME: 1433; DatabaseName = MyDatabase; user = sa; пароль = pwd
- Пробовал jdbc: sqlserver: // MYSERVERNAME: 1434; DatabaseName = MyDatabase;user = sa; пароль = pwd
- Пробовал jdbc: sqlserver: // MYSERVERNAME; DatabaseName = MyDatabase; user = sa; пароль = pwd
На данный момент я просто озадачен,Я что-то упускаю, возможно, связано с запуском JVM на Mac?Буду вечно благодарен за любые идеи!