1

dbExpressとTSQLConnectionオブジェクトを使用して、アプリケーションのユーザーが任意のODBC dsnに接続し、それに対してSQLクエリを実行できるようにします。

ユーザーがDSNを選択できるように持っています(DSNとは、コントロールパネル-管理ツール-データソース(ODBC)にリストされているすべての構成済みデータソースを意味します)が、ユーザーが1つを選択すると、構成方法がわかりません。 TSQLConnectionオブジェクト。

私は設定する必要があると思います:

SQLCon.connectionName

SQLCon.driverName

SQLCon.getDriverFunc

特定のDSNのレジストリ設定に、DLLを指す「DRIVER」エントリがありますが、「getDriverFunc」値を示すものはありません。

実行時にODBCDSNへのTSQLConnection(またはその他のdelphi db接続)を設定するためのアドバイスや例はありますか?

ありがとう

4

5 に答える 5

2

TADOConnectionでこれを行う方法は次のとおりです。

これは、ODBCプロバイダー(システムDSN)の接続文字列です。

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

これは、ユーザー「sa」とパスワード「pass」を使用して「SQLServerDSN」という名前のDSNに接続するために使用する方法を示すデモです。

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 に答える
2

そのための最善の方法は、TADOConnectionを使用し、接続文字列でDSNを指定することです。

于 2010-03-01T04:47:19.970 に答える
1
  1. dbExpressテクノロジを介してODBCDSNを操作する必要がある場合は、http://open-dbexpress.sourceforge.netから「Kylix/DelphiオープンソースDbExpressドライバforODBC」をダウンロードして使用する必要があります。そこに接続例、DSNを一覧表示する関数があります。等
  2. もっと単純なものがある場合は、TADOConnectionとMSDASQL OLEDBプロバイダー(OLEDB-> ODBCブリッジプロバイダー)を使用できます。T
  3. Delphiによる高度なODBCサポートが必要な場合は、サードパーティ製品を検討する必要があります。

だから、あなたが必要なものを決定してください、そして私はあなたにいくつかのサンプルを提供することができます。

于 2010-03-01T06:28:09.190 に答える
0

HavnはDBexpressを使用していませんが、ADBを使用する場合は、ADOユニットに事前に作成されたメソッドがあります。
使用できると思います。必要に応じて、返される接続文字列の一部を変更することもできます。

メソッドはADODB.PromptDataSourceです。

于 2010-03-01T07:01:31.697 に答える
0

おそらく、使用する接続文字列の最適なリソースは、connectionstrings.comです。dbExpressでODBCを使用するには、 ODBCドライバーが必要です。

于 2010-03-01T17:07:50.793 に答える