2011-07-21 87 views
2

Microsoft Access 2003數據庫(.mdb)包含通過ODBC連接到後端Microsoft SQL Server 2008表的鏈接表。Microsoft Access ODBC連接字符串限制爲255個字符?

當我進入設計視圖中的鏈接表,然後查看屬性字段,我只能看到前255個字符(具體領域有連字符替換):

ODBC;Description=------------------------------------;DRIVER=SQL Server;SERVER=----;APP=--------------------------------;WSID=---------;DATABASE=------------------;StatsLog_On=Yes;StatsLogFile=-------------------------------------------------------------- 

當我使用打印DAO場VBA立即窗口(表名ommitted:「print CurrentDb.TableDefs(」-----------「)。連接」),我看到一個前綴加254個字符(前綴「ODBC;說明=」加254個字符,加上大概是一個字節的空字符):

ODBC;Description=------------------------------------;DRIVER=SQL Server;SERVER=----;APP=--------------------------------;WSID=---------;DATABASE=------------------;StatsLog_On=Yes;StatsLogFile=------------------------------------------------------------------;Trusted_Co 

如何查看整個tex t的ODBC連接字符串?

我們體驗當SQL Server服務器日誌顯示錯誤「用戶登錄失敗‘{用戶}問題’理由:找不到登錄匹配提供的名稱[客戶端:{IP地址}]」

我試圖確認完整的字符串「Trusted_Connection =是」是存儲的字符串的一部分。

+0

看起來可能沒有辦法。命令「打印右(CurrentDb.TableDefs(」-----「)。連接,10)」顯示「Trusted_Co」:o( – iokevins

+0

雖然這可能解釋爲什麼Windows身份驗證沒有得到使用?我重新鏈接DSN連接字符串<255個字符 – iokevins

+0

只需注意一點:屬性字段顯示255個字符,包括「ODBC; Description =」前綴,而即時窗口顯示254個字符,超過「ODBC; Description =」。 ,似乎我正在達到2^8的限制 – iokevins

回答

0

問題原來是ODBC連接字符串上的255個字符的Microsoft Access(2003/2010)限制。

我刪除了對StatsLog的ODBC引用,重新鏈接了Microsoft Access數據庫中的所有表。已經過了一週,DBA團隊報告沒有進一步的服務器日誌錯誤。

0

嘗試Shift-F2。這是整個縮放框訪問中的鍵盤快捷鍵,它也適用於大多數屬性。

+0

這隻顯示了前255個字符,好主意,雖然! – iokevins

1

出於測試目的,創建一個DSN,然後根據該DSN創建一個鏈接。 (我的假設是,在連接字符串中引用DSN會導致鏈接TableDef的連接屬性更短)。是否允許您獲取Trusted_Connection屬性?如果是這樣,也許最好的辦法是找到一種方法來縮短連接字符串。

如果有幫助,顯然Trusted_Connection不一定是SQL Server連接字符串中的最後一個元素。這裏有一個它與SQL Server 2005的工作對我來說,雖然是:

ODBC;DSN=vm2003;Trusted_Connection=Yes;APP=Microsoft Office 2003;WSID=WIN7;DATABASE=Inventory 

對不起,我不知道,如果這些建議能夠對您有所幫助。這對我來說是新的領域;我從來沒有遇到過這麼長的連接字符串。

+0

感謝,HansUp。我上面的評論指出它如何仍然限制在255字節(第二個,大概是254 + null終止字節?) 額外的長度最初來自於包含StatsLog參數。我最終沒有使用它們,所以我將它們刪除,sh減少長度<255個字符。 – iokevins

+0

對不起,評論中的255沒有沉入。在原始問題中,您在「即時窗口中爲TableDef Connect」屬性指出「我看到271個字符」......這是我堅持的那個。 – HansUp

+0

不用擔心 - 我會編輯原始文章進行澄清。謝謝! – iokevins