我想從Ubuntu(kubuntu 13.04)與nodejs連接到一個SQL服務器數據庫! (SQL服務器2012) 我看着節點ODBC .. 所以......我開始安裝freetds的,然後unixODBC的,然後啓動:NPM安裝ODBC從Linux的Nodejs和Sql服務器
1)我配置文件「等/ freetds的/ freetds.conf 「是這樣的:
[FreeTDS]
host = gerry_win7
port = 1433
tds_version = 8.0
client charset = UTF-8
2)安裝SQSH(命令和apt-get安裝SQSH),並嘗試以
sqsh -S FreeTDS -U trm1 -P user
連接並執行一個查詢:完美的作品!
3)然後,我試圖以該方法配置ODBC訪問: 文件 「/etc/odbcinst.ini」:
[FreeTDS]
Description = TDS driver
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
文件 「/etc/odbc.ini」:
[FreeTDS]
Driver = FreeTDS
Description = ODBC connectin via FreeTDS
Trace = No
Servername = gerry_win7
Database = testsql
UID = trm1
PWD = user
Port = 1433
4)與此的NodeJS示例代碼我收到以下錯誤: 代碼:
var cn = 'DRIVER={FreeTDS};SERVER=gerry_win7;UID=trm1;PWD=user;DATABASE=testsql';
var Database = require('odbc').Database, db = new Database();
db.open(cn, function(err){
if (err) {return console.log(err);}
});
錯誤:
[unixODBC][FreeTDS][SQL Server]Unable to connect to data source
[Error: Error opening database]
,但正如我寫之前,用「SQSH」客戶端的連接的工作原理:我可以運行查詢! 有人能幫我理解我在做什麼錯嗎?
最有可能不是這個問題,但不應該'tds_version'與'tds版本'的空間? –
您可能還想在連接字符串中嘗試使用「SERVERNAME」而不是「SERVER」。 –
對不起..「tds版本」..我寫錯了,但在配置文件是正確的..我試圖寫SERVERNAME但錯誤是一樣的.. – girtri