как подключиться к SQL Server с помощью SQuirreL SQL из не зарегистрированного домена Linux box?
Мне нужно подключиться к серверу SQL 2008 R2 из моего окна Linux, который не зарегистрирован в домене моей компании. Я пытаюсь использовать SQuirreL SQL версии 3.2.1. Я скачал драйвер jdbc Microsoft SQL Server 3.0 и назначил его белке на вкладке драйверы.
теперь, когда я пытаюсь создать псевдоним на SQuirreL, я выбираю драйвер SQL Server и настраиваю URL. Для учетных данных я использую зарегистрированное имя пользователя и пароль домена.
когда я пытаюсь проверить при подключении я всегда получаю одну и ту же ошибку:
: ошибка входа в систему для пользователя ' '.
Как я могу заставить это работать? Заранее спасибо!
5 ответов
Я избавился от драйвера Microsoft SQL Server JDBC и загрузил jTDS драйвер. Я немного подправил его, пока, наконец, не получил успешное соединение. Правильная строка подключения:
jdbc:jtds:sqlserver://<server_ip>:1433;databaseName=<instance_name>;domain=<domain_name>
ответ может быть устаревшим, так как у меня была аналогичная проблема с SQuirrel SQL на MacOS 10.9.3 не на Linux box. То, как Питер решил проблему, вдохновило меня. Поскольку решение было не самым простым, я решил изложить его здесь. Надеюсь, это кому-то поможет.
- скачать последнюю версию драйвера Microsoft jdbc 4.0 для SQL Server (tar.пакет ГЗ)
- извлечь только sqljdbc4.баночка из пакета
- скопируйте файл jar в Squirrel SQL (Содержание- > Ресурсы - >Java - >Lib)
- Теперь драйвер JDBC Microsoft MSSQL Server доступен для создания псевдонима
- URL соединения: jdbc:sqlserver: / / ИМЯ_СЕРВЕРА; имя_базы=ИМЯ_БАЗЫ
еще одно решение, которое сработало для меня. На рабочем столе Windows, подключенном к SQL Server 2008 R2, я должен был выполнить следующие действия:
- скопировать jtds-1.3.1.Джар в каталог SQL \lib белка
- перезапустите SQuirrel SQL и убедитесь, что вы видите jTDS Microsoft SQL в списке водителей
- убедитесь, что в конфигурации драйвера указано имя класса net.на SourceForge.jtds.интерфейс jdbc.Водитель!--6-->
- использовать строку подключения, как это
jdbc:jtds:sqlserver://<hostnameOrIp>:<port>/<databaseName>;instance=<instanceName>
мне удалось подключиться к SQL Server из SQuirrel на Linux-сервере. Грубо* шаги ...
- вам нужен только один из JDBC jars из MS download (скопирован в 'lib')
- необходимо использовать SQL Server auth (не Windows network auth)
- аутентификация SQL Server уже включена в нашей БД
- добавлен логин 'jdoe'
- установите базу данных jdoe по умолчанию в "XxxDb"
- добавлено "отображение пользователя" из jdoe в нужное база данных
- настройка разрешения на SQL Server для jdoe: "подключение" и "просмотр любой базы данных"
- строка подключения: jdbc:sqlserver: / / SERVERNAME: 1433; databaseName=XxxDb
* может не понадобиться все, как я ковыряюсь
убедитесь, что драйвер Microsoft jdbc совместим с используемой версией среды выполнения java,
Я пытался использовать драйвер 6.0 с Java-9 и я получил эту ошибку: ClassNotFoundException: javax.XML.связывать.Datatypeconverter, который когда я понизился до версии Java SE Runtime Environment 8u101 он подключился без проблем.