0

異なるサーバーにある共通のデータベースからデータを取得するアプリケーションを設計する予定です。

元:

  • サーバー SQLSRV001 のデータベース A
  • サーバー SQLSRV002 のデータベース A

別のサーバーにあるデータベース A で実行される SQL 選択クエリがあります。

    select * from Database A where column1='' and column2=''

同じ選択クエリを使用し、ユーザー (またはハードコーディングされた) 入力として複数のサーバー番号を取得する動的接続オブジェクトを作成できるかどうかを知りたいと思いました。データベースで選択クエリを実行し、結果を返します。次に、次のサーバー番号を入力として受け取り、データをフェッチします。これは、すべてのサーバー番号が処理されるまで続きます。

これに関する洞察は喜んで受け入れられます。

4

1 に答える 1

0

はい、確かにそれを行うことができます...新しいクラスを作成し、それをSQLConnectionタイプのオブジェクトにするか、そうです。

その目的は、データベースとの接続を作成および維持し、さまざまなタスクを実行することです (クエリを直接渡すことができるため、この部分はオプションです)。

これはネットで拾った

class DBConnect
{
    private MySqlConnection connection;
    private string server;
    private string database;
    private string uid;
    private string password;

    //Constructor
    public DBConnect()
    {
        Initialize();
    }

    //Initialize values
    private void Initialize(String[] connectionInfo)
    {
        server = connectionInfo[0];
        database = connectionInfo[1];
        uid = connectionInfo[2];
        password = connectionInfo[3];
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + 
        database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }

    //open connection to database
    private bool OpenConnection()
    {
    }

    //Close connection
    private bool CloseConnection()
    {
    }

    //Insert statement
    public void Insert()
    {
    }

    //Update statement
    public void Update()
    {
    }

    //Delete statement
    public void Delete()
    {
    }

    //Select statement
    public List <string> [] Select()
    {
    }

    //Count statement
    public int Count()
    {
    }

    //Backup
    public void Backup()
    {
    }

    //Restore
    public void Restore()
    {
    }
}

したがって、異なるデータベースがある場合は、次のようになります。

DBConnect srv001 = new DBConnect({server1,db1,uid1,pw1});
DBConnect srv002 = new DBConnect({server2,db2,uid2,pw2});

これで、2 つの異なるデータベースへの 2 つの同時接続が確立されました。

于 2013-01-09T20:13:55.023 に答える