Как я могу подключиться к удаленному серверу sql?
У меня есть настольное приложение (разработанное в C#), которое будет использовать базу данных SQL SERVER. База данных находится на удаленном сервере баз данных. Мне нужно подключиться к этой базе данных на этом сервере базы данных и выполнить некоторые транзакции с этой базой данных.
У меня есть подключение к интернету. Я знаю IP-адрес и номер порта сервера SQL в этом сервере базы данных.
Итак, каковы шаги для подключения к этому серверу базы данных?
2 ответа
ИМХО: небезопасно прослушивание sql-сервера по публичному ip-адресу! Вы должны использовать vpn или хотя бы ssh-туннель.
В любом случае попробуйте создать псевдоним с IP-адресом в утилите настройки клиента MSSQL.
Вы можете определить строку подключения в вашем 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();
С помощью этих 2 команд вы сможете заставить его работать.