0

我计划设计一个应用程序,该应用程序将从位于不同服务器的公共数据库中获取数据。

前任:

  • 服务器 SQLSRV001 中的数据库 A
  • 服务器 SQLSRV002 中的数据库 A
  • ETC

我有一个 sql 选择查询,它将在位于不同服务器的数据库 A 中执行。

    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 回答