0

私の会社の開発者は、次のDBMSでSQLクエリを実行するためのクラスを含むC#プロジェクトを開発しました。

  • 次のいずれかの接続を使用 して(拡張子が「.mdb」のDBファイル)にアクセスします。
    • ODBC接続。
    • OLEDB接続_
  • 次のいずれかの接続を使用 して、(拡張子が「.accdb」のDBファイル)にアクセスします。
    • ODBC接続。
    • OLEDB接続
  • ODBC接続を使用したDB2 。
  • 次の接続のいずれかを使用したMySQL
    • ADO.Net接続
    • ODBC接続。
    • OLEDB接続
  • 次の接続のいずれかを使用したOracle
    • ADO.Net接続
    • ODBC接続。
    • OLEDB接続
  • 次の接続のいずれかを使用したPostgreSQL
    • ADO.Net接続
    • ODBC接続。
  • 次のいずれかの接続を使用したSQLServer
    • ADO.Net接続
    • ODBC接続。
    • OLEDB接続

SQLクエリの述語で使用される文字列にワイルドカード文字を適応させるために使用されるメソッドを実装したいと思います。
次に、SQLクエリが実行されます。
開発者がワイルドカード文字を使用する必要がある場合、DBMSから独立した既知の文字を使用します。

ワイルドカード文字はDBMSとは異なる場合があります。例:

  • Accessで使用されるワイルドカード文字は「*」です。
  • SQLServerで使用されるワイルドカード文字は'%'です。

しかし、ワイルドカード文字は、DBMSとの通信に使用される接続にも依存するのではないかと思います。
ODBC接続で使用されるワイルドカード文字は、ADO.Net接続で使用されるワイルドカード文字とは異なる場合があります。
一部のDBMSを使用できないため、上記のDBMS/接続の各ペアでテストを実行できませんでした。

4

1 に答える 1

0

ペア(DB2 / ODBC)を除いて、最初の投稿にリストされている(DBMS /データプロバイダー)のペアごとにプログラムで選択したクエリを実行しました。
selectクエリのwhereステートメントに述語を含めました。
複数文字のワイルドカード文字を使用しました:%
ワイルドカード文字'%'は、テストを実行した(DBMS /データプロバイダー)の各ペアで機能します。

于 2012-09-27T08:11:05.810 に答える