本文介紹了在 Linux/Ubuntu 上使用 Nodejs + MSSQL的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
限時(shí)送ChatGPT賬號(hào)..
我的 nodejs 應(yīng)用程序連接到 MSSQL 服務(wù)器,在我的 Windows 筆記本電腦上運(yùn)行良好,唱 mssql@npm
同一個(gè)應(yīng)用程序無(wú)法在我的 Ubuntu 筆記本電腦中看到數(shù)據(jù)庫(kù).
我在 Ubuntu 中定義了 mssql 連接如下,我是否遺漏了什么?
- 將我的 ~/.profile 更新為:
<塊引用>
~$ export ODBCINI=/etc/odbc.ini~$ 導(dǎo)出 ODBCSYSINI=/etc~$ export FREETDSCONF=/etc/freetds/freetds.conf
注銷筆記本電腦,以激活上述內(nèi)容,并刷新配置文件.
安裝了所需的連接包.
<塊引用>
~$ sudo apt-get install unixodbc unixodbc-dev freetds-dev sqsh tdsodbc -y
- 配置的 FreeTDS
<塊引用>
~$ sudo gedit/etc/freetds/freetds.conf[智慧服務(wù)器]主機(jī) = 192.168.0.10端口 = 1433tds 版本 = 7.0
- 使用 sqsh 測(cè)試了 FreeTDS 連接,它工作正常:
<塊引用>
~$ sqsh -S ACUMENSERVER -U mssql-username -P mssql-password
- 配置的 ODBC - odbcinst.ini:
<塊引用>
~$ sudo gedit/etc/odbcinst.ini[免費(fèi)TDS]說(shuō)明 = TDS 驅(qū)動(dòng)程序 (Sybase/MS SQL)驅(qū)動(dòng)程序 =/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so設(shè)置 =/usr/lib/x86_64-linux-gnu/odbc/libtdsS.soCP超時(shí)=CP重用=文件使用率 = 1
- 配置的 ODBC - odbc.ini:
<塊引用>
~$ sudo gedit/etc/odbc.ini[智慧服務(wù)器]驅(qū)動(dòng)程序 = FreeTDS說(shuō)明 = 通過(guò) FreeTDS 的 ODBC 連接跟蹤 = 否服務(wù)器名稱 = ACUMENSERVER數(shù)據(jù)庫(kù) = myDataBase
- 用 isql 測(cè)試了 ODBC 連接,它工作正常:
<塊引用>
isql -v ACUMENSERVER mssql-username mssql-passward
當(dāng)我運(yùn)行我的 nodejs 應(yīng)用程序(在 Windows 中運(yùn)行良好)時(shí),我在 Ubuntu 中遇到以下錯(cuò)誤,考慮到上述所有內(nèi)容都已完成,并檢查:
{ name: 'ConnectionError',消息:'無(wú)法連接到 ACUMENSERVER:1433 - getaddrinfo ENOTFOUND',代碼:'ESOCKET' }
這里可能有什么錯(cuò)誤/遺漏,我可以使用另一個(gè) npm 包進(jìn)行 mssql 連接.
解決方案
我發(fā)現(xiàn)如果使用服務(wù)器的 IP 地址,這可以工作,服務(wù)器名稱不起作用!
以下對(duì)我有用:
1 安裝 mssql:
npm 安裝 mssql
2 index.js 文件:
var sql = require('mssql');變量配置 = {用戶:'sa',密碼:'sql@123',//server: 'myServername', -->不工作//服務(wù)器:'ACUMENSERVER', -->不工作服務(wù)器:'6192.168.0.10',//有效數(shù)據(jù)庫(kù):'myDB'}sql.connect(config).then(function() {//詢問(wèn)new sql.Request().query('select top 1 itemcode from OITM').then(function(recordset) {控制臺(tái)目錄(記錄集);}).catch(function(err) {console.log(err);/* ... 查詢錯(cuò)誤檢查 ... *
【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!