如何通过DBExpress在ODBC连接上设置属性?

时间:2011-12-29 21:08:28

标签: delphi odbc dbexpress

理由是您可以跳过阅读,但包括在内以过滤掉人们告诉我不要做一些我不确定的事情。

我正在尝试调试一些多线程数据库hoopla,它主要是实验性的,虽然如果我让它工作我会是一个非常快乐的人。我是DBExpress的新手(只使用了4-5个小时)。我没有使用TSQLConnection或任何设计时组件,因为我试图以一种无法忽视的方式重写现有的ODBC32.dll接口,一旦完成,我将揭露其余的可怕性。我提到这个的原因是因为很明显我没有按照许多教程中显示的正常方式使用dbexpress。


以下是问题

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

1 个答案:

答案 0 :(得分:2)

你已经在其他地方定义了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,你就是金。