Мне нужно записать некоторые данные в базу данных 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, поэтому сервер должен быть правильно настроен для удаленного доступа.
Есть идеи?
Вот ссылки, которые я добавил в закладки по этой теме, надеюсь, это поможет вам:
Это было некоторое время назад, но в основном я помню следующее:
Вы должны создать запись для конкретного драйвера MSSQL в файле с именем /etc/odbcinst.ini . Затем для каждого сервера MSSQL необходимо создать запись (или DSN ), либо глобально в /etc/odbc.ini , либо локально для пользователя в $ ГЛАВНАЯ / .odbc.ini .
Некоторые имена, которые я использовал, могут отличаться (и у меня сейчас нет доступа к моему Linux, чтобы проверить), но вы поняли общую идею.
Как только вы это сделаете, isql -d должен успешно подключиться к базе данных. Если это так, то использование C / Linux API для ODBC должно быть легкой задачей. Учебники предоставлены по указанным ссылкам.
FreeTDS - это то, что вам нужно. «FreeTDS - это набор библиотек для Unix и Linux, который позволяет вашим программам напрямую взаимодействовать с базами данных Microsoft SQL Server и Sybase».