Соединение MSSQL из Ubuntu

Мне нужно легкое и полное учебное руководство для того, чтобы установить связь MSSQL из Ubuntu.

Я думаю, что установил FreeTDS и UnixODBC, но конфигурации очень сложны, я не понял проблему.

Я следовал этому учебному руководству: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubuntu

Но я перестал работать.

root@hackmachine:~# isql -v example.com XXXXX XXXXXXX
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
root@hackmachine:~# 

Править:

Прежде чем это редактирование "/etc/odbcinst.ini" и "/etc/odbc.ini" было пусто.

Я добавил эти строки к /etc/odbcinst.ini:

[FreeTDS]

Description     = TDS driver (Sybase/MS SQL)

Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so

Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

CPTimeout       =

CPReuse         =

FileUsage       = 1

Я добавил эти строки к /etc/odbc.ini:

[project_development]
Driver = FreeTDS
Description     = ODBC connection via FreeTDS
Trace           = No
Servername      = developer
Database        = project_development

[project_test]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = test

[project_production]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = production
Database = project_production

Я не вносил изменений на "/etc/freetds/freetds.conf" с самого начала.

Однако, ничто не изменилось.

10
задан 7 July 2016 в 18:46

7 ответов

Вот пошаговые инструкции (найдены здесь) :

Первый, установите unixODBC:

sudo apt-get install unixodbc unixodbc-dev

я также установил следующее (возможно, необходимый) пакеты:

sudo apt-get install tdsodbc php5-odbc

Тогда загрузка, untar, компилирует и устанавливает FreeTDS (предупреждение, URL может измениться):

cd /usr/local

wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar xvfz freetds-stable.tgz
cd freetds-0.82
./configure --enable-msdblib --with-tdsver=8.0 --with-unixodbc=/usr
make
make install
make clean

Попытка соединение по Telnet к Вашему экземпляру SQL Server:

telnet 192.168.0.1 1433

Использование tsql инструмент для проверения соединения:

tsql -S 192.168.0.1 -U devuser

Это должно предложить Вам пароль, после которого можно очень сильно надеяться для наблюдения этого красивого знака:

1>

, Если это работало, я рекомендую устроить (кодирование) вечеринку. Затем некоторые конфигурирование. Откройте файл конфигурации FreeTDS./usr/local/etc/freetds.conf

Добавляет следующую запись в нижнюю часть файла. We’re, настраивающий имя источника данных (DSN) под названием ‘MSSQL’.

[MSSQL]
host = 192.168.0.1
port = 1433
tds version = 8.0

Теперь открывают конфигурационный файл ODBC: /usr/local/etc/odbcinst.ini

И добавляет следующую запись драйвера MSSQL (FreeTDS) в конце:

[FreeTDS]
Description = FreeTDS driver
Driver = /usr/local/lib/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1

Затем наконец, настраивает DSN в ODBC в файле odbc.ini здесь /usr/local/etc/odbc.ini Путем добавления этого бита к файлу:

[MSSQL]
Description = MS SQL Server
Driver = /usr/local/lib/libtdsodbc.so
Server = 192.168.2.3
UID = devuser
PWD = devpass
ReadOnly = No
Port = 1433

Проверяют соединение с помощью isql инструмента:

isql -v MSSQL devuser 'devpass'

, Если Вы видите “Connected! ” you’re золотой, поздравления! В противном случае I’m действительно извините; посмотрите, ниже того, где существуют некоторые ресурсы, которые могли бы помочь.

Теперь Apache перезапуска и тест это от PHP, использующего ‘MSSQL’ в качестве DSN. Если что-то работа doesn’t, Вы могли бы попытаться установить кого-либо из этих пакетов: mdbtools libmdbodbc libmdbtools mdbtools-gmdb

11
ответ дан 23 November 2019 в 04:27

На Надежном человеке 14.04 у меня были проблемы при создании http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz

, Когда я пытался работать tsql команда, я узнал tsql, может быть установлен через Кв.:

$ sudo apt-get install freetds-bin
4
ответ дан 23 November 2019 в 04:27

Надежда Вы скопировали содержание в ссылке на файл. Необходимо обновить детали SQL-сервера в файле "/etc/odbc.ini". Вы можете Вы отсылать ссылку http://guywyant.info/log/206/connecting-to-ms-sql-server-from-ubuntu/

0
ответ дан 23 November 2019 в 04:27

Я должен был сделать это для Ubuntu 14.04 и 17.04, оба LTS 64-разрядный. Вероятно, работы для более поздних версий.

Установка unixodbc (соединения ODBC), freetds (соединения SQL Server) и tdsodbc (мост между бывшими двумя)

sudo apt install unixodbc freetds-bin tdsodbc

Добавляет, Ваши драйверы ODBC к /etc/odbcinst.ini (должно быть пустым)

[SQL Server]
Description = FreeTDS driver
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1

, Добавляют, Ваш DSNs к /etc/odbc.ini (должно быть также пустым)

[ACCOUNTING]
Description = Accounting database
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Server = 123.123.123.123
Database = your_database_name
Port = 1433

, И это было всем.

0
ответ дан 23 November 2019 в 04:27

Соединяться с экземпляром MSSQL, работающим на удаленном сервере:

Выполняют применимые шаги в этой статье https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/connection-string-keywords-and-data-source-names-dsns? ПРИМЕЧАНИЕ view=sql-server-2017

: Для завершения тестов необходимо сделать еще несколько вещей: Отредактируйте /etc/odbc.ini и добавьте следующее:

[MSSQL] Driver=ODBC Driver 17 for SQL Server Server=[ServerIP][,1433]

Для выполнения теста выполните следующее в терминале:

isql-v MSSQL [имя пользователя] [пароль]

необходимо видеть "связанный" ответ.

, Если Вы боретесь, проверьте, что порты на Вашем Linux и Windows Server открыты!

0
ответ дан 23 November 2019 в 04:27

Отвечать на вопрос, подразумеваемый:

Мне нужно легкое и полное учебное руководство для того, чтобы установить связь MSSQL из Ubuntu

... и игнорирование всего FreeTDS устанавливает материал.

Используйте mssql-cli (установка, использование).

0
ответ дан 23 November 2019 в 04:27

Я работаю в компании, которая в большой степени использует продукты Microsoft. Однако я предпочитаю работать над машиной Linux (Ubuntu). А именно, я использую Ubuntu 16.04 LTS.

Я использую DataGrip JetBrains или Электрон SQL как графический интерфейсы пользователя SQL. DataGrip потребует Microsoft JDBC Driver для SQL Server, на который необходимо указать вручную при открытии DataGrip впервые. Я вставил это /usr/share/java/, но где угодно будет работать.

Соединение просто на моем ноутбуке Windows 10. Я просто открываю SQL Server Management Studio и использую мои учетные данные для входа в систему (имя пользователя + пароль); я не использую аутентификацию Windows.

Предпосылки

Для соединения из Ubuntu это - немного (просто немного) дополнительная работа. Во-первых, на моей машине Windows 10, я открываю терминал Powershell и ввожу в следующем

nslookup <server name here>

и это возвращает что-то как

Non-authoritative answer:
Name: <server name here>
Address: <server's address>

Имя и адрес сервера будет статично, таким образом, вышеупомянутое только будет необходимо для выполнения однажды на сервер, Вы пытаетесь получить доступ.

DataGrip

Затем я перехожу на свою машину Linux и открываю DataGrip. Для Host Я ввожу <server's address>, Порт: 1433 (это - значение по умолчанию для SQL Server MS). URL должен посмотреть что-то как,

URL: jdbc:sqlserver://<server's address>:1433

Если Вы нажимаете Test Connection, это предложит Вам данные для входа, если Вы еще не добавили это. И вот именно для DataGrip!

DataGrip также имеет следующий блог, который может быть полезен новым пользователям: Соединение DataGrip к SQL Server MS

Электрон SQL

Если Вы не хотите покупать DataGrip, можно использовать Электрон SQL. Шаги подобны. Откройте Электрон SQL, щелчок добавляют для добавления нового сервера, и для Server Address ввести <server's address>, Порт: 1433 и наконец Ваши данные для входа в систему. И ВОТ ИМЕННО!

0
ответ дан 23 November 2019 в 04:27

Другие вопросы по тегам:

Похожие вопросы: