来自MS Access 2010运行时的SQL错误SQLState 08001 32位
我的问题是,我无法通过Access运行时32位连接到SQL Server Express 2008 64位数据库,无论是通过Windows身份验证还是SQL身份验证 在Windows 2011 Small Business Server上运行一台带有Windows 7 Prof.32位的虚拟机。从这个窗口,我测试了我的Access应用程序。使用(32位)SQL驱动程序11,工作正常 使用64位SQL驱动程序11从64位Windows 7 Prof.客户端使用的相同Access应用程序失败,并出现SQLState 08001错误 我不明白的是,ODBC连接测试成功了,数据链接(UDL)成功了,但我的Access应用程序没有成功。 启动应用程序时,首先要通过passthroughquery运行一个存储过程,并从SQL数据库中的某个tbl获取数据。此SP带来连接错误,但不是Access的运行时错误(我甚至删除了错误处理程序!) 那么,如何在Access应用程序中找到原因或任何错误(如果有) 我很无助,因为我知道要测试或做什么,我已经试过让应用程序运行。因为我甚至不能安装32位的SQL驱动程序11,所以它不应该是与驱动程序相关的错误 有人知道一个测试应用程序吗?在这个应用程序中,我不仅可以连接,还可以从SQL数据库中检索数据,或者使用任何其他技巧来检查对数据库的访问?来自MS Access 2010运行时的SQL错误SQLState 08001 32位,sql,sql-server,ms-access-2010,Sql,Sql Server,Ms Access 2010,我的问题是,我无法通过Access运行时32位连接到SQL Server Express 2008 64位数据库,无论是通过Windows身份验证还是SQL身份验证 在Windows 2011 Small Business Server上运行一台带有Windows 7 Prof.32位的虚拟机。从这个窗口,我测试了我的Access应用程序。使用(32位)SQL驱动程序11,工作正常 使用64位SQL驱动程序11从64位Windows 7 Prof.客户端使用的相同Access应用程序失败,并出现
谢谢你的帮助 Access通常作为32位应用程序安装。因此,在64位计算机上,它将使用32位子系统。在Windows 7上,ODBC数据源管理员实用程序的所有默认快捷方式都将导致该实用程序的64位版本。无论您在那里看到或配置什么,都是完全不相关的,因为您的32位访问不会看到它 解决方案: 您需要明确地打开32位版本的ODBC管理实用程序,并在其中配置数据源。
为了确保获得正确的版本,请使用Windows资源管理器并打开此文件:
C:\Windows\syswow64\odbcad32.exe
同时,我发现,当尝试使用类似“ODBC;DSN=MyDSN;…”的连接时,连接失败,但当我减少连接DNS时,通过与“ODBC;驱动程序=SQL Server本机客户端11;服务器=myServer;。。。。“
也许这正是你所说的。当我只使用DSN时,它采用了错误的位版本
因此,我将尝试以下操作:删除我拥有的DSN,打开odbcad32.exe并再次创建相同的DSN
如果我理解您的意思是正确的,那么Win 7将提供正确的驱动程序并将其存储在DSN中。通过访问调用此DSN将获得正确的设置
进一步的问题是,我的SSQL服务器实例不在端口1434,SQL Server本机客户端11驱动程序没有更多的ClientConfiguation来设置静态端口。因此,我为“MyServer\Myinstance,15999”找到了一个字符串解决方案
我希望此端口设置将在DSN中被接受,否则我真的必须更改为DSN,因为开发和生产的服务器不同,这会更加复杂。
谢谢你的回复。我同时发现,当尝试使用类似“ODBC;DSN=MyDSN;。。。。。但是,当我通过“ODBC”连接DNS时,它是有效的;驱动程序=SQL Server本机客户端11;服务器=myServer;。。。。".