Ssrs

SSRS 和 Informix 連接

  • September 11, 2019

我安裝了 IBM 驅動程序,創建了一個從 SSRS 前端成功測試的數據源。

從我的機器上創建一個報告,該報告還安裝了驅動程序並且 ODBC 測試正確。

我收到以下錯誤

ERROR [HY000] [Informix][Informix ODBC Driver][Informix]Unspecified System Error = -23101.

我跑

Select * from sysmaster:informix.sysdbslocale

返回en_US.819我想要的數據庫。

執行 Setnet32 並將 CLIENT_LOCALE 和 DB_LOCALE 設置為en_US.819

ODBC 設置中的客戶端/伺服器變數也設置相同。

我不確定還能嘗試什麼。

當我使用 Informix 命令finderr時,我得到如下所示的輸出:

$ finderr -23101
-23101  Unable to load locale categories.

An invalid locale name was supplied for the locale initialization.
The environment variable specifying the locale category has a wrong
value. 

Check the value of the corresponding environment variable,
CLIENT_LOCALE or DB_LOCALE. If this error was encountered when using 
the "SET COLLATION" statement, check that the value passed to the 
statement is a valid locale. If this error was encountered when using
the "SET NO COLLATION" statement, check that the session's default 
locale file is still available. Also check if INFORMIXDIR points to
a valid directory where IBM Informix products are installed.  

If a client application receives this error when it requests a database
server connection, check that the client and database locales are
compatible. They are compatible if a valid locale exists on the server
computer with the name lg_tr.codeset@mod, where lg_tr (language and
territory) and mod (locale modifier) are from the CLIENT_LOCALE and
codeset is from the database locale (from the DB_LOCALE, if it is set,
or as stored in the database).

$

這可能很清楚,但“無法載入語言環境類別”可能意味著,在類 Unix 系統(以及類似Windows 系統 IIRC 上)上的$INFORMIXDIR預設設置要麼設置不正確,要麼指向無效的地方。特別是,語言環境類別儲存在./usr/informix``C:\Informix``$INFORMIXDIR/gls

這是容易的部分;困難的部分是知道你需要設置什麼。您是否檢查過 SETNET32 設置?您檢查過 OBDC 連接配置嗎?我相信 SSRS 是一個基於 Windows 的系統,而且我絕不是 Windows 專家,所以我能做的事情是有限的,可以為您指明正確的方向。但是擁有比“未知系統錯誤”更詳細的錯誤資訊可能會對您有所幫助。

您還可以查看IBM Informix Information Center 12.10網站上的 Informix 手冊。

當涉及到語言環境時,Informix 變得非常暴躁。如果它們設置不正確,那麼它可能會失敗。我無法談論您的設置,但我不得不更改我的程式碼以使用 client_locale 和 db_locale 變數。兩者都需要設置為en_us.57372,據我了解,這就是告訴 Informix 使用 UTF8 編碼的原因。

正確設置環境變數也有幫助。該PATH變數需要包含指向本地 Informix 驅動程序安裝文件夾的連結(例如,c:\informix)。它需要靠近列表的開頭。

INFORMIXDIR = <Informix install folder, like in the path>
LD_LIBRARY_PATH = <Informix install folder>\lib;<Informix install folder>\lib\cli;<Informix install folder>\lib\esql

如果您想嘗試使用它們,最後兩個應該有助於安裝文件夾中的其餘 Informix 工具開始正常工作。

設置環境變數後,不要忘記重新啟動電腦,以便在嘗試連接時應用它們。

引用自:https://dba.stackexchange.com/questions/108249