2010-03-30 26 views
11

Ho bisogno di scrivere alcuni dati nel database SQL Server da Linux in C++.C++ Accesso a SQL Server da Linux

Ho trovato questo sqlapi.com

Ma credo che, in un primo driver ODBC deve essere installato e deve lavorare.

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

Ma non ha funzionato. La porta 1433 sembra chiuso ($ sudo nmap -PN -sU -p 1433 192.168.56.101 -> porta "filtrata")

isql -v sqlexpress sa -> attendere con nessuna risposta o ottenere "couldn' t connect to sql "

Da altri PC con Windows non ho problemi a scrivere dati in SQL Server, , quindi il server deve essere configurato correttamente per l'accesso remoto.

Qualche idea?

risposta

7

Qui ci sono i link che segnalibro relativa a tale argomento, spero che possa aiutare a:

Era qualche tempo fa, ma in fondo quello che mi ricordo è:

è necessario creare una voce per il driver particolare MSSQL si dispone in un file chiamato /etc/odbcinst.ini. Poi, per ogni server MSSQL, è necessario creare una voce (o DSN), sia in globaly /etc/odbc.ini, o un utente locale, in $ HOME/.odbc.ini.

Alcuni nomi che ho usato potrebbero differire (e non ho accesso al mio box Linux in questo momento per verificare) ma hai avuto l'idea generale.

Una volta fatto, isql -d deve connettersi correttamente al database. In tal caso, usare l'API C/Linux per ODBC dovrebbe essere un gioco da ragazzi. Esercitazioni fornite nei link indicati.

+0

Oh, e mi ricordo che qualche ritocco deve essere fatto sul MSSQL Server stesso. È necessario consentire le connessioni TCP e l'accesso tramite login/password. – ereOn

4

FreeTDS è ciò che desideri. "FreeTDS è un set di librerie per Unix e Linux che consente ai tuoi programmi di parlare in modo nativo con i database Microsoft SQL Server e Sybase."

http://www.freetds.org

+0

niente di nuovo per me, non ha aiutato, ho fatto tutto questo, c'è la stessa procedura nei link che ho postato .. – Meloun

+0

Se non riesci a trovare la porta 1433 aperta sulla casella del server SQL, allora hai un problema non correlato alle librerie che stai utilizzando. – Joe

+0

http://www.freetds.org è un collegamento morto. – rstackhouse

Problemi correlati