【问题标题】:How do I set an attribute on an ODBC connection via DBExpress?如何通过 DBExpress 在 ODBC 连接上设置属性?
【发布时间】:2011-12-29 21:08:27
【问题描述】:

理由是您不妨跳过阅读,但包含在内是为了过滤掉那些告诉我不要做我一开始不确定的事情的人。

我正在尝试调试一些多线程数据库 hoopla,它主要是实验性的,但如果我让它工作,我会是一个非常高兴的人。我对 DBExpress 很陌生(只使用了 4-5 个小时)。我没有使用 TSQLConnection 或任何设计时组件,因为我正在尝试以一种不费力且不被注意的方式重写现有的 ODBC32.dll 接口,一旦完成,我将展示其余的精彩。我之所以提到这一点是因为很明显我没有以许多教程中显示的正常方式使用 dbexpress。


问题来了

我正在使用 TDBXConnection 并连接到 ODBC 数据源,我想尝试在我的连接上设置 SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE 参数,但我不知道在哪里设置该特定参数。

【问题讨论】:

  • 即使我认为我已经找到了问题的答案,但如果其他人愿意回答,我认为我们都可以从一些智慧中受益。

标签: delphi odbc dbexpress


【解决方案1】:

你已经在别的地方定义了FDBConnection : TDBXConnection;,所以现在你必须:

....

begin
  if FDBConnection is TDBXOdbcConnection then
  with FDBConnection as TDBXOdbcConnection do
  begin
    MethodTable.SQLSetEnvAttr(EnvironmentHandle, SQL_ASYNC_ENABLE, Pointer(SQL_ASYNC_ENABLE_ON), 0);
    MethodTable.SQLSetEnvAttr(EnvironmentHandle, SQL_ASYNC_DBC_FUNCTIONS, Pointer(SQL_ASYNC_DBC_CAPABLE), 0);

  end;
end;

这很无痛。

Data.DBXODBCSystem.ODBC 包含在用途中,您就是金子。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 2019-02-22
    • 1970-01-01
    相关资源
    最近更新 更多