С++ Доступ к SQL Server из Linux

Мне нужно записать некоторые данные в базу данных SQL Server из Linux на С++.

Я нашел этот sqlapi.com

Но я думаю, сначала драйвер ODBC должен быть установлен и должен работать.

Я показал это adminlife.net/allgemein/mssql-zugriff-unter-debian-etch-mit-unixodbc-und-freetds/ или это http://b.gil.megiteam.pl/2009/11/linux-odbc-to-mssql/

Но это не сработало. Порт 1433, кажется, закрыт ($ sudo nmap -PN -sU -p 1433 192.168.56.101 → порт "отфильтрован" )

isql -v sqlexpress sa - > ждать без ответа или получить "невозможно подключиться к sql"

С другого ПК с Windows у меня нет проблем с записью данных на SQL Server, поэтому сервер должен быть правильно настроен для удаленного доступа.

Любые идеи?

Ответ 1

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

Это было некоторое время назад, но в основном я помню:

Вам нужно создать запись для конкретного драйвера MSSQL, который у вас есть, в файле с именем /etc/odbcinst.ini. Затем для каждого сервера MSSQL вам необходимо создать запись (или DSN), либо globaly в /etc/odbc.ini, либо локально локально, в $HOME/.odbc.ini.

Некоторые имена, которые я использовал, могут отличаться (и у меня нет доступа к моему ящику Linux прямо сейчас, чтобы проверить), но вы получили общую идею.

Как только вы это сделали, isql -d должен успешно подключиться к базе данных. Если это так, то использование C/Linux API для ODBC должно быть куском пирога. Учебники, предоставленные в указанных ссылках.

Ответ 2

FreeTDS - это то, что вы хотите. "FreeTDS - это набор библиотек для Unix и Linux, который позволяет вашим программам напрямую разговаривать с базами данных Microsoft SQL Server и Sybase".

http://www.freetds.org