C++ Access to SQL Server from Linux

Meloun picture Meloun · Mar 30, 2010 · Viewed 16.4k times · Source

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?

Answer

ereOn picture ereOn · Mar 30, 2010

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

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.