C++ Access to SQL Server from Linux

為{幸葍}努か 提交于 2019-12-03 16:20:33

问题


I need to write some data to SQL Server database from Linux in C++.

I found this sqlapi.com

But I think, at first ODBC driver has to be installed and has to work.

I folowed this adminlife.net/allgemein/mssql-zugriff-unter-debian-etch-mit-unixodbc-und-freetds/ or this http://b.gil.megiteam.pl/2009/11/linux-odbc-to-mssql/

But it didn't work. The port 1433 seems to be closed ($ sudo nmap -PN -sU -p 1433 192.168.56.101 -> port "filtered")

isql -v sqlexpress sa -> wait with no response or get "couldn't connect to sql"

From other PC with Windows I have no problem to write data in SQL Server, so server should be right configured to remote access.

Any ideas?


回答1:


Here are the links I bookmarked concerning that topic, hope it can help you:

  • ODBC Tutorial
  • FreeTDS
  • Connection strings
  • How to configure ODBC - This one was really useful.

It was some time ago, but basically what I remember is:

You have to create an entry for the particular MSSQL driver you have in a file named /etc/odbcinst.ini. Then, for each MSSQL server, you have to create an entry (or DSN), either globaly in /etc/odbc.ini, or user-local, in $HOME/.odbc.ini.

Some names I used might differ (and I don't have acces to my Linux box right now to check) but you got the general idea.

Once you did that, isql -d should connect succesfully to the database. If so, then using the C/Linux API for ODBC should be a piece of cake. Tutorials provided in the given links.




回答2:


FreeTDS is what you want. "FreeTDS is a set of libraries for Unix and Linux that allows your programs to natively talk to Microsoft SQL Server and Sybase databases."

http://www.freetds.org



来源:https://stackoverflow.com/questions/2545858/c-access-to-sql-server-from-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!