C ++ доступ к SQL Server из Linux - PullRequest
12 голосов
/ 30 марта 2010

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

Я нашел это 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, поэтому сервер должен быть правильно настроен для удаленного доступа.

Есть идеи?

Ответы [ 2 ]

8 голосов
/ 30 марта 2010

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

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

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

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

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

4 голосов
/ 30 марта 2010

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

http://www.freetds.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...