Подтвердить что ты не робот

Каковы некоторые способы доступа к Microsoft SQL Server из Linux?

У нас есть машина Windows, работающая под управлением SQL Server 2005, и нам нужно иметь возможность запускать некоторые запросы к базе данных в Linux из окна Linux. Каковы некоторые из рекомендуемых способов сделать это? В идеале нам понадобится утилита командной строки, подобная sqlcmd для Windows.

4b9b3361

Ответ 1

FreeTDS + unixODBC или iODBC

Установите сначала FreeTDS, затем настройте один из двух ODBC-движков, чтобы использовать FreeTDS в качестве своего драйвера ODBC. Затем используйте интерфейс командной строки для механизма ODBC.

unixODBC имеет isql, iODBC имеет iodbctest

Вы также можете использовать свой любимый язык программирования (я успешно использовал Perl, C, Python и Ruby для подключения к MSSQL)

Я лично использую FreeTDS + iODBC:

$more /etc/freetds/freetds.conf
[10.0.1.251]
    host = 10.0.1.251
    port = 1433
    tds version = 8.0

$ more /etc/odbc.ini
[ACCT]
Driver = /usr/local/freetds/lib/libtdsodbc.so
Description = ODBC to SQLServer via FreeTDS
Trace = No
Servername = 10.0.1.251
Database = accounts_ver8

Ответ 2

sqsh (http://www.sqsh.org/) + freetds (http://www.freetds.org)

sqsh была прежде всего заменой isql для Sybase SQL Server (теперь ASE), но она отлично подходит для подключения к SQL Server (при использовании freetds).

Чтобы скомпилировать, просто укажите $SYBASE для установки freetds, и он должен работать оттуда. Я использую его на своем Mac весь день.

Лучшая часть sqsh - это расширенные функции, такие как мертвое простое связывание серверов (нет необходимости устанавливать связанные серверы в SQL Server), управление потоком и цикл (не более конкатенации строк и выполнение динамического SQL), а также невидимую массу копирования/нагрузки.

Любой, кто использует любой другой инструмент командной строки, просто сумасшедший!:)

Ответ 3

sql-cli - это интерфейс командной строки с платформой на основе nodejs для сервера sql. Вы можете установить его через npm https://www.npmjs.org/package/sql-cli

Он может подключаться как к внутреннему, так и к sql-azure экземпляру.

Ответ 4

pymssql - это модуль Python DB-API, основанный на FreeTDS. Это сработало для меня. Создайте некоторые вспомогательные функции, если вам нужно, и используйте их из оболочки Python.

Ответ 5

Mono содержит поставщика ADO.NET, который должен сделать это за вас. Я не знаю, есть ли для него утилита командной строки, но вы можете определенно завершить некоторые С# для выполнения запросов, если этого не произойдет.

Посмотрите http://www.mono-project.com/TDS_Providers и http://www.mono-project.com/SQLClient

Ответ 6

Поскольку ноябрь 2011 г. Microsoft предоставляет свой собственный драйвер ODBC для SQL Server для Linux для Red Hat Enterprise Linux (RHEL) и SUSE Linux Enterprise Server (SLES).

Он также включает sqlcmd для Linux.

Ответ 8

Вы не говорите, что хотите делать с результирующими данными, но если бы это были общие запросы для разработки/обслуживания, я бы подумал, что Remote Desktop на сервер Windows, а затем с помощью реальных инструментов SQL Server на них будет всегда были более продуктивным вариантом для любого взломанного решения на самой Linux.

Ответ 9

Для PHP существует абстракция lib. Не уверен, что будет поддерживать ваш клиентский блок, но если его Linux, безусловно, должен поддерживать создание интерфейса запросов PHP с помощью этого: http://adodb.sourceforge.net/ Надеюсь, что это поможет.