Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server ODBC连接失败#3151毫秒访问-->;SQL Server 2008_Sql Server_Ms Access_Odbc - Fatal编程技术网

Sql server ODBC连接失败#3151毫秒访问-->;SQL Server 2008

Sql server ODBC连接失败#3151毫秒访问-->;SQL Server 2008,sql-server,ms-access,odbc,Sql Server,Ms Access,Odbc,我有一个MS Access应用程序,该应用程序链接到SQL Server 2008数据库以获取其所有数据。多年来,当SQL Server在Win2008标准64位SP2和SQL Server 2008 v10.0.4上运行时,它一直运行良好。我最近将后端SQL db移到了一台更新的服务器(Win2008 R2标准64位和SQL v10.50.1600)。搬家后,应用程序上的一切都正常工作,没有问题。然而,我们有一个月末流程,生成相对较大的报告(300-500页),它揭示了我们在日常处理中通常不会

我有一个MS Access应用程序,该应用程序链接到SQL Server 2008数据库以获取其所有数据。多年来,当SQL Server在Win2008标准64位SP2和SQL Server 2008 v10.0.4上运行时,它一直运行良好。我最近将后端SQL db移到了一台更新的服务器(Win2008 R2标准64位和SQL v10.50.1600)。搬家后,应用程序上的一切都正常工作,没有问题。然而,我们有一个月末流程,生成相对较大的报告(300-500页),它揭示了我们在日常处理中通常不会看到的问题

我的报告基于传递查询。查询几乎是瞬时运行的,并生成8000行。我可以预览查询并快速导航到RS的末尾以查看第8000行。没问题。如果我调出基于该查询的报告,我可以看到有350页,我可以一页一页地浏览报告,没有问题。我甚至可以输入页码,然后跳转到第50、100、150页等等,没有问题。注意,在报告中的任何激发事件上都没有处理/代码/逻辑-只是显示和格式化数据

问题出现在这里:如果我预览报告并尝试从第一页跳转到最后一页,它会坐下来思考一会儿(准确地说是38秒),然后抛出错误#3151 ODBC连接到[DNS Name]失败。

如果我只是更新pass-through查询上的connect字符串,将其指向“较旧”的SQL Server并运行相同的东西,那么它就可以正常工作。我尝试调整连接字符串以使用IP地址而不是DNS名称,但没有成功。这是一个工作多年没有问题的过程,因此我知道客户端逻辑是合理的


有什么想法或建议吗?

好的,这是一个完全劣质的解决方案,多人在同一个DB或Access文件上运行它并不安全。。。但它可能会让你今天跑步,给你一些喘息的空间。但请记住——坏的会被修复,劣质的会永远存在

从报表中获取查询,在运行它之前,将结果转储到一个空的临时表中(在MS SQL端或MS Access端),然后使报表从临时表中运行。记得在事后清理它,这样就没有人会依赖这些数据做任何事情


如果它可以在MS Access端工作,但不能在MS SQL端工作,那么这将确认新服务器的配置有问题。

好的,这是一个完全劣质的解决方案,并且在同一个DB或Access文件上多人运行它时并不安全。。。但它可能会让你今天跑步,给你一些喘息的空间。但请记住——坏的会被修复,劣质的会永远存在

从报表中获取查询,在运行它之前,将结果转储到一个空的临时表中(在MS SQL端或MS Access端),然后使报表从临时表中运行。记得在事后清理它,这样就没有人会依赖这些数据做任何事情


如果它在MS Access端工作,但在MS SQL端不工作,那么这将确认新服务器的配置有问题。

SQL错误日志中是否有任何内容?事件日志呢?(服务器端和客户端)。当您跳转到第349页,然后向下翻页时,它会做同样的事情吗?SQL错误日志和Windows事件日志(服务器或客户端)中都没有记录任何内容。如果我试图跳转到349页,我会得到错误。如果我一次浏览50条记录,最多350条,那么我就可以毫无问题地浏览整个报告。它的行为就像它不能进行大跳跃,但可以接受较小跳跃的累积。1更多有趣的发现…在预览报告时,如果我在导航按钮上键入第350页(最后一页),而不是点击>|按钮转到最后一页,它直接跳到它,没有问题,然后我可以一直回到开头,然后>>到结尾,没有问题。这是一个问题的原因,因为我们在打印时出现错误-如果不转到第80页左右,我们将无法打印报告,然后出现错误。当您升级到最新版本的SQL Server时,您是否也升级了客户端工作站上的ODBC驱动程序?根据我的经验,最新的本机ODBC客户端使用R2速度非常快,可能需要它才能获得最佳的可靠性。它与MDAC无关。只需安装本机SQL Server ODBC客户端(版本10.0左右)。它通常是SQLServer2008R2下载的一方。SQL错误日志中有什么内容吗?事件日志呢?(服务器端和客户端)。当您跳转到第349页,然后向下翻页时,它会做同样的事情吗?SQL错误日志和Windows事件日志(服务器或客户端)中都没有记录任何内容。如果我试图跳转到349页,我会得到错误。如果我一次浏览50条记录,最多350条,那么我就可以毫无问题地浏览整个报告。它的行为就像它不能进行大跳跃,但可以接受较小跳跃的累积。1更多有趣的发现…在预览报告时,如果我在导航按钮上键入第350页(最后一页),而不是点击>|按钮转到最后一页,它直接跳到它,没有问题,然后我可以一直回到开头,然后>>到结尾,没有问题。这是一个问题的原因,因为我们在打印时出现错误-如果不转到第80页左右,我们将无法打印报告,然后出现错误。当您升级到最新版本的SQL Server时,您是否也升级了客户端工作站上的ODBC驱动程序?根据我的经验,最新的本机ODBC客户端使用R2速度非常快,可能需要它才能获得最佳的可靠性。它与MDAC无关。是个硕士