2011-07-21 84 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