Назад | Перейти на главную страницу

Как я могу подключиться к удаленному серверу sql?

У меня есть настольное приложение (разработанное на C #), которое будет использовать базу данных SQL SERVER. База данных находится на удаленном сервере баз данных. Мне нужно подключиться к этой базе данных на этом сервере базы данных и выполнить транзакцию с этой базой данных.

У меня есть подключение к Интернету. Я знаю IP-адрес и номер порта сервера sql на этом сервере базы данных.

Итак, каковы шаги для подключения к этому серверу базы данных?

ИМХО: небезопасно, чтобы sql-сервер слушал общедоступный IP-адрес! Вы должны использовать VPN или хотя бы ssh-туннель.

В любом случае попробуйте создать псевдоним с IP-адресом в утилите настройки MSSQL Client.

Вы можете определить строку подключения в своем App.config:

<connectionStrings>
       <add name="nameOfThisConnectionString" connectionString="Data Source=databaseserver; Initial Catalog=database;User Id=username;Password=password"/>
</connectionStrings>

Затем вы можете использовать строку подключения для выполнения команд:

string connectionString = ConfigurationManager.ConnectionStrings["nameOfThisConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(connectionString );
connection.Open(); 
SqlCommand command = new SqlCommand("Select count(*) from members", connection);
int amount= (int)(command.ExecuteScalar());
labelamount.Text = amount.ToString() + " records";
connection.Close();

Вот и все. Вы также можете использовать другой запрос, например:

string connectionString = ConfigurationManager.ConnectionStrings["nameOfThisConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(connectionString );
connection.Open(); 
SqlCommand command = new SqlCommand("Select * from Contact order by Name", connection);
SqlDataReader dataReader = command.ExecuteReader();
while (dataReader.Read())
    { 
        ListViewItem item = new ListViewItem(dataReader["ID"].ToString());
        item.SubItems.Add(dataReader["Name"].ToString());
        item.SubItems.Add(dataReader["Email"].ToString());
        listViewContacts.Items.Add(item);
    }   
dataReader.Close();
connection.Close();

С помощью этих двух команд вы сможете заставить его работать.