Строка подключения. Как правильно прописать её для объектов, добавленн

  • Автор темы m4igor
  • Дата начала
M

m4igor

#1
В моей программе происходит обычная работа с базой данных в DataGridView выводится содержимое Dataset и т.д. это не очень важно
Добавлял я элементы с помощью конструктора и на одним из шагов, там был вопрос про параметры соединения. Как я понял параметры соединения прописываются в XML файле app.config
Код:
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="privet.Properties.Settings.dbprivetConnectionString" connectionString="Data Source=IGOR-FS\SQLEXPRESS2;Initial Catalog=dbprivet;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
в файле dbprivetDataSetAgents.Designer.cs они используются
Код:
private void InitConnection() {
this._connection = new global::System.Data.SqlClient.SqlConnection();
this._connection.ConnectionString = global::privet.Properties.Settings.Default.dbprivetConnectionString;			
}
а как мне сделать оптимально, что бы хотя бы имя компьютера было "переносимым", а не статическим. Т.е. если я буду запускать свою программу на другом компе (при этом допустим имя SQL сервера будет такое же - SQLEXPRESS2) - имя-то его будет другим.

Когда я работаю без объектов и конструкторов, а всё руками прописываю, можно так написать:
Код:
dbconnection.ConnectionString = "Data Source=" + Environment.MachineName +"\\SQLEXPRESS2;Initial Catalog=dbprivet;Integrated Security=True";
нормально ли будет если прямо исправлю строку
Код:
this._connection.ConnectionString
на то, что выше или можно сделать как-то оптимальнее и правильнее, всё таки dbprivetDataSetAgents.Designer.cs создаётся дизайнером и в его лучше не править
 
B

BoYar

#2
собственно не вижу проблемы. То что вы называете "статическим" именем компьютера таковым не является: при переносе приложения на другую машину просто руками меняем имя компьютера, сервера, базы данных, параметров безопасности (ведь доступ к серверу может быть как windows authentication так и sql server authentication) в этом самом файле app.config. после этого никаких ребилдов приложения делать не надо.