2010-03-30 14 views
11

Necesito escribir algunos datos en la base de datos de SQL Server desde Linux en C++.C++ Acceso a SQL Server desde Linux

me encontré con este sqlapi.com

Pero creo que, en un primer controlador ODBC tiene que ser instalado y tiene que trabajar.

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

Pero no funcionó. El puerto 1433 parece estar cerrada ($ sudo nmap -p 1433 -PN -sU 192.168.56.101 -> puerto "filtrado")

isql -v sqlexpress sa -> esperar sin respuesta o se "podías t connect to sql "

Desde otra PC con Windows no tengo ningún problema para escribir datos en SQL Server, , por lo que el servidor debe estar configurado correctamente para el acceso remoto.

¿Alguna idea?

Respuesta

7

Éstos son los enlaces que ha agregado un marcador en relación con ese tema, espero que le puede ayudar a:

lo que era hace algún tiempo, pero básicamente lo que recuerdo es:

usted tiene que crear una entrada para el conductor MSSQL particular, que tiene en un archivo llamado /etc/odbcinst.ini. Luego, para cada servidor MSSQL, debe crear una entrada (o DSN), ya sea global en /etc/odbc.ini, o user-local, en $ HOME/.odbc.ini.

Algunos nombres que utilicé pueden diferir (y no tengo acceso a mi caja de Linux ahora mismo para comprobarlo) pero tienes una idea general.

Una vez que haya hecho eso, isql -d debe conectarse correctamente a la base de datos. Si es así, entonces usar el API de C/Linux para ODBC debería ser pan comido. Tutoriales proporcionados en los enlaces dados.

+0

Ah, y recuerdo que algunos ajustes que hay que hacer en el propio servidor de MSSQL. Debe permitir las conexiones TCP y el acceso usando inicio de sesión/contraseña. – ereOn

4

FreeTDS es lo que quieres. "FreeTDS es un conjunto de bibliotecas para Unix y Linux que permite que sus programas hablen de forma nativa a las bases de datos Microsoft SQL Server y Sybase".

http://www.freetds.org

+0

nada nuevo para mí, no ayudé, hice todo esto, hay el mismo procedimiento en los enlaces que he publicado .. – Meloun

+0

Si no puede encontrar el puerto 1433 abierto en el cuadro del servidor SQL, entonces tiene un problema que no está relacionado con las bibliotecas que está utilizando. – Joe

+0

http://www.freetds.org es un enlace inactivo. – rstackhouse

Cuestiones relacionadas