Как соединить мультисервер и базу данных в C # - PullRequest
0 голосов
/ 17 января 2019
public class MyDatabaseConnection
{
    string connectionString = "Data Source= my DS3;Initial Catalog = MyCATA;Persist Security Info=True;User ID=sa;Password=mypsw*";

    public MyDatabaseConnection(string connectionString)
    {
        this.connectionString = connectionString;
        // create a database connection perhaps
    }

    // some methods for querying a database
    public void execute(string query) { }
}

и это мой код

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    string connectionString ;

    public void searchOnAllDatabases(string query)
    {

        MyDatabaseConnection con1 = new MyDatabaseConnection("Data Source= 10.232.1.15\\SERVER1;Initial Catalog = My Catalog;Persist Security Info=True;User ID=sa;Password=myPSW");  //----1st search here 
        MyDatabaseConnection con2 = new MyDatabaseConnection("Data Source= 10.232.1.15\\SERVER2;Initial Catalog = My Catalog;Persist Security Info=True;User ID=sa;Password=myPSW");  //---- 2nd search here 
        MyDatabaseConnection con3 = new MyDatabaseConnection("Data Source= 10.232.1.15\\SERVER3;Initial Catalog = My Catalog;Persist Security Info=True;User ID=sa;Password=myPSW");  //---- 3rd search here 

        MyDatabaseConnection[] cons = new MyDatabaseConnection[] { con1, con2, con3 };

        foreach (MyDatabaseConnection con in cons)
        {


            MessageBox.Show(Convert.ToString(cons)); //--to see the result only
        }

    }

Моя цель заключается в том, чтобы при поиске по этому имени файла он выполнял поиск по всей базе данных с другого сервера. Например, он будет искать в базе данных сервера 1, если не найден, он перейдет к следующим базам данных сервера 2, в базу данных сервера 3, если найдет, он даст мне результат в datagridview

1 Ответ

0 голосов
/ 17 января 2019

Вы можете изменить свою форму примерно так:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }


public void searchOnAllDatabases(string query)
{

MyDatabaseConnection con1 = new MyDatabaseConnection("Data Source= 10.232.1.15\\SERVER1;Initial Catalog = My Catalog;Persist Security Info=True;User ID=sa;Password=myPSW");  //----1st search here 
    MyDatabaseConnection con2 = new MyDatabaseConnection("Data Source= 10.232.1.15\\SERVER2;Initial Catalog = My Catalog;Persist Security Info=True;User ID=sa;Password=myPSW");  //---- 2nd search here 
    MyDatabaseConnection con3 = new MyDatabaseConnection("Data Source= 10.232.1.15\\SERVER3;Initial Catalog = My Catalog;Persist Security Info=True;User ID=sa;Password=myPSW");  //---- 3rd search here 

MyDatabaseConnection[] cons = new MyDatabaseConnection[] { con1, con2, con3 };

foreach (MyDatabaseConnection con in cons)
{
    var result = con.execute(query);
    if (result)
       break;
}

 }
}

Здесь вы можете обновить поисковый код:

public class MyDatabaseConnection
{

string connectionString = "Data Source= my DS3;Initial Catalog = MyCATA;Persist Security Info=True;User ID=sa;Password=mypsw*";

public MyDatabaseConnection(string connectionString)
{
    this.connectionString = connectionString;
    // create a database connection perhaps
}

    // some methods for querying a database
 public bool execute(string query)
    {
        SqlConnection sqlCon = new SqlConnection(connectionString);
        try
        {
            sqlCon.Open();
            SqlDataAdapter sqlDaMonitor = new SqlDataAdapter("select * from TLogging where BatchNumber like '%" + query + "%' ", sqlCon);
            DataTable dtblMonitor = new DataTable();
            sqlDaMonitor.Fill(dtblMonitor);
            if ((dtblMonitor == null) || (dtblMonitor.Rows.Count == 0)) {
                MessageBox.Show("SEARCH OTHER DATABASE");
                myCon.Val += 1;
                MessageBox.Show(myCon.MyDTConn);

                return false;
            }


        }
        catch(Exception ex)
        {
            return false;
        }
        return true;
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...