我正在開發一個帶有AWS EC2服務器(使用php)的Web應用程序來訪問MS SQL Server數據庫。AWS EC2 linux + PHP + ODBC +遠程MS SQL服務器
長時間搜索解決方案後,我發現此解決方案使用ODBC驅動程序。很好,開發進展順利,我沒有問題連接到數據庫或持久數據。
但是當我部署我的應用程序,任何操作返回此錯誤:
ERRO: IM001: [unixODBC][Driver Manager]Driver does not support this function
我真的嘗試了所有我知道的,無法解決這個問題。
我的EC2的配置是:
yum install unixODBC unixODBC-devel freetds freetds-devel
我的ODBC/freetds的conf文件是:
/etc/odbc.ini
[TDS_NAME]
Description = decription
Driver = TDS_NAME
Database = MY_DB
Servername = TDS_NAME
UID = VIPS
Port = 1433
TDS_Version= 7.3
的/ etc/ODBCINST。 ini
[TDS_NAME]
Description = TDS Connection
Driver64 = /usr/lib64/libtdsodbc.so
Setup64 = /usr/lib64/libtdsS.so
FileUsage = 1
UsageCount = 1
[ODBC]
Trace = yes
TraceFile /tmp/odbc.log
/etc/freetds.conf
[TDS_NAME]
host = MY_HOST
port = MY_PORT
tds version = 7.3
我使用odbc_execute()或odbc_exec運行我的查詢()和錯誤發生時,我請教有一些參數。我很確定問題不在於我的配置文件,因爲我可以成功連接到服務器並運行簡單的「SELECT * FROM表」,並使用運行任何查詢的isql進行連接。
任何人都可以幫到我嗎?
OBS:PHP運行的版本 - PHP 5.6.10
我沒有這麼多的運氣:(我試圖升級我的freeTDS版本(0.95)和降級我的TDS版本,但同樣的錯誤出現。順便說一句,有沒有任何存儲庫freeTDS 0.95?下載並安裝tar.gz.我不知道是否安裝好,因爲安裝沒有創建一個tsql的符號鏈接,我需要自己做這個... –
嗯,它是運行的早期版本的freeTDS,我使用'yum install freetds'進行安裝並獲得了此版本。我的SQL Server是2008. –
現在我明白了!除了將我的freeTDS升級到0.95,我不得不從我的查詢中刪除所有參數,我不知道是否更好的解決方案,但它的工作原理!謝謝:) –