掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
BDEの代替は何に? (ID:39230)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
BDEの代替は何に? 長文になります。申し訳ございません。 今まで、データベースへの接続はBDE + SQLLink で行っていました。 BDEの開発サポートが終了したということで、BDEの代替なるものを検討中です。 BDEの代替として、ADO と ODBC しか思いつきませんでしたので 取りあえずテストプログラムを作成しようとしましたが、、 書き方が分からなかった為、いろいろ調べて次のようになりました。 そこで、、 根本的な質問で申し訳ありませんが、 BDEで接続するというのは、BDE Administrator で作成したエリアス名を TDatabaseのAliasNameに設定するという認識で良いでしょうか? ODBCで接続するというのは ODBCデータソースアドミニストレータで作成したデータソースを TDatabaseのAliasNameに設定するという認識で良いでしょうか? BDEとODBCは、DataBase.AliasNameの設定を変更するだけで そのまま同じ関数が利用できる? ①BDE・ODBCでのデータベース接続 function TDM.OpenDatabase(Alias, UserName, Password: string): Boolean; begin Result := True; try DataBase.Connected := False; DataBase.LoginPrompt := False; DataBase.AliasName := Alias; //BDE Administrator で作成したエリアス名 もしくは //ODBCデータソースアドミニストレータで作成したデータソース名 DataBase.DatabaseName := 'DB1'; DataBase.Params.Clear; DataBase.Params.Add('USER NAME=' + UserName); DataBase.Params.Add('PASSWORD=' + Password); Query.DatabaseName := DataBase.DatabaseName; StoredProc.DatabaseName := DataBase.DatabaseName; DataBase.Connected := True; except Result := False; end; end; また、ADOで接続するというのは UDLファイルを作成しておいて そのUDLファイル名をConnectionStringに設定するという認識で良いでしょうか? ②ADOでのデータベース接続 function TDM.OpenDatabase: Boolean; const DATA_LINK_FILE = ado.udl var ConnectionStr: string; begin Result := True; ConnectionStr := 'FILE NAME=' + ExtractFilePath(Application.ExeName) + DATA_LINK_FILE; ADOConnection.Connected := False; ADOConnection.LoginPrompt := False; ADOConnection.ConnectionString := ConnectionStr; ADOQuery.Connection := ADOConnection; ADODataSet.Connection := ADOConnection; try ADOConnection.Connected := True; except Result := False; end; end; 以上のことがあっているという前提で、テストプログラムを作成し 次の構成でパフォーマンスを比較しました。 ①[ADO] + [OLE DB Provider for SQL Server] の構成 ②[ODBC] + [SQL Server] の構成 同じ内容のストアドプロシージャ(読込用)をループさせてテストしましたが、 ①のADOの構成の方の読込がとても遅くて使い物になりません。 ②のODBCの読込だと、BDE + SQLLink には及びませんが問題無いパフォーマンスでした。 以前は、ADO > ODBC の認識でしたが、 現在は、ODBCの方が主流なのでしょうか? また、BDEの代替は一般的に何にしたら良いでしょうか? ご教授願います。 質問だらけで申し訳ございません。 宜しくお願いします。 <環境> Delphi2007 Server: [Windows 2003 Server] + [SQL Server 2005] Client: [Windows XP Professional] + [SQL Server 2005]
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.