как подключиться к 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. То, как Питер решил проблему, вдохновило меня. Поскольку решение было не самым простым, я решил изложить его здесь. Надеюсь, это кому-то поможет.

  1. скачать последнюю версию драйвера Microsoft jdbc 4.0 для SQL Server (tar.пакет ГЗ)
  2. извлечь только sqljdbc4.баночка из пакета
  3. скопируйте файл jar в Squirrel SQL (Содержание- > Ресурсы - >Java - >Lib)
  4. Теперь драйвер JDBC Microsoft MSSQL Server доступен для создания псевдонима
  5. 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 он подключился без проблем.