我最近在Fedora Linux系統上安裝了Mono,以便我們能夠在其上運行ASP.NET應用程序。我能夠啓動和運行這個部分,但問題是我們使用Informix DB,Mono似乎阻止了ODBC的工作。連接到安裝了單聲道的Informix DB時發生ODBC錯誤
有沒有人獲得ODBC連接到安裝了Mono的Informix DB的經驗?
我們:
- IBM Informix的ESQL版本3.50.UC7
- 的unixODBC 2.2.14
- Informix的SE版7.25.UC6R1
- 單聲道版本2.6.7。
- CSDK版本是 「IBM的Informix CSDK版本3.50,IBM Informix的ESQL版本3.50.UC7」
任何幫助將不勝感激。
這裏是完整的跟蹤:
ppid=00003564,pid=00000000 ENTER SQLSetEnvAttr
SQLHENV 0x087489C8
SQLINTEGER 200
SQLPOINTER 0x00000003
SQLINTEGER 0
ppid=00003564,pid=00000000 EXIT SQLSetEnvAttr
SQLHENV 0x087489C8
SQLINTEGER 200
SQLPOINTER 0x00000003
SQLINTEGER 0 with return code 0 (SQL_SUCCESS)
ppid=00003564,pid=00000000 ENTER SQLGetEnvAttr
SQLHENV 0x087489C8
SQLINTEGER 200
SQLPOINTER 0xBFBF84F0
SQLINTEGER 0
SQLINTEGER * 0x04D05CA0
ppid=00003564,pid=00000000 EXIT SQLGetEnvAttr
SQLHENV 0x087489C8
SQLINTEGER 200
SQLPOINTER 0xBFBF84F0
SQLINTEGER 0
SQLINTEGER * 0x04D05CA0 with return code 0 (SQL_SUCCESS)
ppid=00003564,pid=00000000 ENTER SQLAllocHandle
SQLSMALLINT 2
SQLHANDLE 0x087489c8
SQLHANDLE * 0x0874c4c8
ppid=00003564,pid=00000000 EXIT SQLAllocHandle
SQLSMALLINT 2
SQLHANDLE 0x087489c8
SQLHANDLE * 0x0874c4c8 with return code 0 (SQL_SUCCESS)
ppid=00003564,pid=00000000 ENTER SQLSetConnectAttrW
SQLHDBC 0x08758F88
SQLINTEGER 115
SQLPOINTER 0x04D05CA0
SQLINTEGER 0
SQLINTEGER * 0x00000000
ppid=00003564,pid=00000000 EXIT SQLSetConnectAttrW
SQLHDBC 0x08758F88
SQLINTEGER 115
SQLPOINTER 0x04D05CA0
SQLINTEGER 0
SQLINTEGER * 0x00000000 with return code -1 (SQL_ERROR)
ppid=00003564,pid=00000000 ENTER SQLConnectW
SQLHDBC 0x08758F88
SQLWCHAR i
SQLSMALLINT -3
SQLWCHAR * *****
SQLSMALLINT -3
SQLWCHAR * *****
SQLSMALLINT -3
ppid=00003564,pid=00000000 EXIT SQLConnectW
SQLHDBC 0x08758F88
SQLWCHAR i
SQLSMALLINT -3
SQLWCHAR * *****
SQLSMALLINT -3
SQLWCHAR * *****
SQLSMALLINT -3 with return code -1 (SQL_ERROR)
ppid=00003564,pid=00000000 ENTER SQLGetDiagRecW
,SQLSMALLINT 2
SQLHANDLE 0x08758F88
SQLSMALLINT 1
SQLWCHAR * ^R
SQLINTEGER * 0xBFBF96E0
SQLWCHAR * ~B
SQLSMALLINT 1026
SQLSMALLINT * 0xBFBF96EA
ppid=00003564,pid=00000000 EXIT SQLGetDiagRecW
,SQLSMALLINT 2
SQLHANDLE 0x08758F88
SQLSMALLINT 1
SQLWCHAR * I
SQLINTEGER * 0xBFBF96E0
SQLWCHAR * [
SQLSMALLINT 1026
SQLSMALLINT * 0xBFBF96EA with return code 0 (SQL_SUCCESS)
ppid=00003564,pid=00000000 ENTER SQLGetDiagRecW
,SQLSMALLINT 2
SQLHANDLE 0x08758F88
SQLSMALLINT 2
SQLWCHAR * I
SQLINTEGER * 0xBFBF96E0
SQLWCHAR * [
SQLSMALLINT 1026
SQLSMALLINT * 0xBFBF96EA
ppid=00003564,pid=00000000 EXIT SQLGetDiagRecW
,SQLSMALLINT 2
SQLHANDLE 0x08758F88
SQLSMALLINT 2
SQLWCHAR * I
SQLINTEGER * 0xBFBF96E0
SQLWCHAR * [
SQLSMALLINT 1026
SQLSMALLINT * 0xBFBF96EA with return code 100 (SQL_NO_DATA_FOUND)
ppid=00003564,pid=00000000 ENTER SQLFreeHandle
SQLSMALLINT 2
SQLHANDLE 0x08758f88
ppid=00003564,pid=00000000 EXIT SQLFreeHandle
SQLSMALLINT 2
SQLHANDLE 0x00000000 with return code 0 (SQL_SUCCESS)
ppid=00003564,pid=00000000 ENTER SQLFreeHandle
SQLSMALLINT 1
SQLHANDLE 0x087489c8
ppid=00003564,pid=00000000 EXIT SQLFreeHandle
SQLSMALLINT 1
SQLHANDLE 0x00000000 with return code 0 (SQL_SUCCESS)
當我跑了單外的連接是非常相似的,除了EXIT SQLConnectW
給-3 with return code 0 (SQL_SUCCESS)
您是否嘗試過從其他ODBC工具(如unixODBC)連接Informix?莫諾表現出什麼錯誤? – 2010-09-15 12:17:26
您使用的是哪個版本的Informix ODBC驅動程序?或者您使用的是哪個版本的Informix CSDK?我在一個稍微老一點的ODBC版本的Mono環境中遇到了Unicode轉換問題;它已在最新版本的ODBC中修復。但我不得不查找錯誤號碼等。 – 2010-09-15 18:55:29
嗨,感謝您的回覆。我們正在運行unixODBC 2.2.14和它的Informix SE版本7.25.UC6R1。我們安裝了Mono 2.6.7版。 – Frankied 2010-09-16 07:50:42