C # проблема с подключением после включения компьютера - PullRequest
0 голосов
/ 27 мая 2018

Я хотел связать свое приложение, написанное на C #, с базой данных SQL Anywhere 17.Я смог использовать класс OdbcConnection, обратившись непосредственно к драйверу базы данных.

мой пример:

private void butODBC3_Click(object sender, EventArgs e)
    {
        string DBase = "FTG_001";
        string Host = "192.168.13.4";

        if (testODBC(DBase, Host) == true)
        {
            labODBC.BackColor = Color.GreenYellow;
        }
        else
        {
            labODBC.BackColor = Color.Red;
        }
    }

    private bool testODBC(string DBase, string host)
    {
        string connectionString = @"Driver={SQL Anywhere 17};DatabaseName=" + DBase + ";EngineName=monwin;uid=monodbc;pwd=monodbc;LINKS=tcpip(ClientPort=5050-5060;HOST=" + host + ";PORT=2020;DoBroadcast=NONE)";
        try
        {
            using (OdbcConnection connection = new OdbcConnection(connectionString))
            {
                connection.Open();
                OdbcCommand command = new OdbcCommand("select getDate()", connection);
                command.ExecuteNonQuery();

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

Когда вы нажимаете на кнопку, метка меняет цвет на зеленый, если естьсоединение или красный, если есть проблема.

Все работает, но при одном условии ... После включения компьютера мне нужно нажать кнопку «Проверить соединения» в Администраторе источника данных ODBC, чтобы заставить мою программу работатьправильно.В противном случае он не будет подключаться к базе данных.

Как я могу принудительно выполнить такой же тест подключения в ODBC Data Source Administrator ??Не менее эффективен ...

Спасибо за любые предложения.

...