1

我想使用 dbExpress 和 TSQLConnection 对象来允许我的应用程序用户连接到他们的任何 ODBC dsn 并针对它运行 SQL 查询。

我有它,所以用户可以选择一个 DSN,(DSN 是指控制面板中列出的所有已配置数据源 - 管理工具 - 数据源 (ODBC)),但是一旦他们选择了一个,我就不确定如何配置TSQLConnection 对象。

我想我需要设置:

SQLCon.connectionName

SQLCon.driverName

SQLCon.getDriverFunc

在给定 DSN 的注册表设置中,我有一个指向 DLL 的“驱动程序”条目,但没有指示“getDriverFunc”值。

有没有人有任何建议或示例在运行时设置到 ODBC DSN 的 TSQLConnection(或任何其他 delphi db 连接)?

谢谢

4

5 回答 5

2

我发现最好的方法是使用 TADOConnection 并简单地在连接字符串中指定 DSN。

于 2010-03-01T04:47:19.970 回答
2

在这里如何在 TADOConnection 中执行此操作:

这是 ODBC 提供程序(系统 DSN)的连接字符串:

Provider=MSDASQL;DSN=mySystemDSN;Uid=myUsername;Pwd=myPassword

这里的演示展示了如何使用它连接到名为“SQLServerDSN”的DSN,用户为“sa”,密码为“pass”:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOConnection1.ConnectionString := 'Provider=MSDASQL;DSN='+
  'SQLServerDSN;Uid=sa;Pwd=pass';
  ADOConnection1.Connected := true;
end; 

我希望这将有所帮助。

于 2010-03-01T07:09:58.330 回答
1
  1. 如果您必须通过 dbExpress 技术使用 ODBC DSN,那么您必须从http://open-dbexpress.sourceforge.net下载并使用“用于 ODBC 的 Kylix / Delphi 开源 DbExpress 驱动程序” 。在那里您可以找到连接示例,列出 DSN 的功能。等等
  2. 如果您有更简单的东西,那么您可以使用 TADOConnection 和 MSDASQL OLEDB 提供程序,即 OLEDB -> ODBC 桥提供程序。吨
  3. 如果您需要 Delphi 提供的高级 ODBC 支持,那么您应该寻找 3d 派对产品。

所以,决定你需要什么,然后我可以为你提供一些样品。

于 2010-03-01T06:28:09.190 回答
0

没有使用过 DBexpress,但如果你使用 ADB,ADO 单元中有一个预制方法。
我认为您可以使用 is ,如果需要,您可以更改它返回的连接字符串的一部分。

方法是 ADODB.PromptDataSource;

于 2010-03-01T07:01:31.697 回答
0

使用连接字符串的最佳资源可能是connectionstrings.com。要在 dbExpress 中使用 ODBC,您需要一个ODBC 驱动程序

于 2010-03-01T17:07:50.793 回答