У меня есть настольное приложение (разработанное на 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();
С помощью этих двух команд вы сможете заставить его работать.