0

的最終目標是讓用戶能夠運行報告,看起來漂亮,抓住從我們的數據庫的最新信息。我們希望使用SQL Report Builder,因爲我們已經將其用於其他報告。數據庫是Cisco UCCX,我們通過來自報告服務SQL Server 2008 R2的ODBC連接訪問它。SSRS問題與32位和64位ODBC驅動程序

我們已經成功地與兩個64位和32位的驅動程序安裝系統ODBC連接。嘗試訪問連接時,我們收到錯誤。

使用32位驅動程序,我們嘗試創建SSRS的數據源通過報表生成器使用,並收到錯誤消息:

"ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application"

使用64位驅動程序,我們可以成功地創建並測試ODBC連接,一個數據源,但是當我們試圖創建報表生成器與它的數據集,我們得到這個錯誤:

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Error received using the 64bit driver for ODBC connection

回答

0

可能在Windows註冊表中遇到一箇舊的但反覆出現的輕微損壞問題。

腐敗需要包含此4個字符的字符串項的形式 -

@="" 

這些條目是不可見的,除了註冊表導出文件的任何地方 - 註冊表編輯器完全忽略他們 - 但他們可以導致不良行爲的數量,包括您報告的錯誤。

注:在你的64位Windows的機器,也有自然有些併發症綁到32位註冊表。 This Microsoft KB article可能足以讓你通過這些。

我建議你使用64位的註冊表編輯器(%systemroot%\system32\regedit)導出以下分支機構(其中這些有問題的項目往往會被發現) -

HKEY_LOCAL_MACHINE\Software\ODBC 
HKEY_CURRENT_USER\Software\ODBC 
HKEY_LOCAL_MACHINE\Software\WOW6432Node\ODBC 
HKEY_CURRENT_USER\Software\WOW6432Node\ODBC 

編輯這些文件在任何文本編輯器(記事本或寫字板一般都可以),並刪除上面包含4個字符字符串的所有行。然後,刪除您導出的註冊表樹段,並從編輯的文件導入 - 從而恢復樹段,減去損壞。

使用32位註冊表編輯器(%systemroot%\syswow64\regedit)重複上述過程並不會造成傷害,但正如您所描述的那樣,我認爲您不會在32位中找到任何@=""出口。

+0

嗨TallTed。我按照你的建議做了,但是我沒有找到任何@ =「」鍵。我所在的地方是數據源在SSRS中測試正常,並且我可以在報告設計器中使用DSN,而不會出現任何問題。只有當我嘗試使用數據源在Report Builder中創建數據集時,纔會遇到「IM002」錯誤。 我的其他職位上微軟論壇:https://social.technet.microsoft.com/Forums/exchange/en-US/a62b3bce-c20a-4f1a-b5be-6ba4339d586b/using-odbc-connection-with-64-bit- SSRS和32位報告建設者?論壇= sqlreportingservices – esafresa

相關問題