0

我的应用程序(一个测试用例自动化工具)不支持调用 ODBC 的SQLSetStatmentOption。我需要将游标选项SQL_SOPT_SS_CURSOR_OPTIONS 设置为 SQL_CO_FFO_AF。现在我使用连接字符串(无 DSN)连接到服务器。我正在使用sqlsrv32.dll 或 Sqlncl10.dll

有没有办法在我的工具和 MSSQL 服务器之间的 DSN(或其他层)中设置光标选项?该工具处理创建游标(或结果集)并以似乎掩盖任何直接管理它的能力的方式遍历结果集。它确实允许调用 SQLSetConnectAttr() 但据我所知,没有办法在那里设置游标选项。

所有这些都是为了加快通过远程连接检索数据的速度。在 SQL Management Studio 中,我得到了与本地或远程数据库相当的响应时间,但在自动化工具中,远程查询花费的时间要长数百倍,可能是因为它似乎每行都往返于服务器。

4

1 回答 1

0

没有办法在我知道的连接字符串中设置语句选项。在 ODBC 1.0 和 2.0 中,您可以调用 SQLSetConnectOption 以获取语句属性,并且它们会在该连接中创建的每个语句中设置这些属性,但是 a)这是 API 的旧版本(尽管它可能仍然有效) b)您仍然不能这样做它来自 DSN。在 unixODBC 中,您可以在 DSN 中设置一些环境和连接属性,但显然是 Windows。

无论如何,我不相信您已经正确识别了问题,即使您有,您怎么知道您的应用程序不使用 SQLGetData(设置 SQL_CO_FFO_AF 时禁用)。你确定你没有启用 MARs。您是否尝试获取 ODBC 跟踪以查看应用程序在做什么?

于 2012-10-19T08:00:04.137 回答