ClickOnce, SQLExpress и прогнозирование имени - PullRequest
0 голосов
/ 27 мая 2009

У меня есть приложение winform, которое необходимо установить вместе с ним SQLExpress. Как я могу предсказать, как будет вызываться экземпляр SQL, чтобы все строки подключения все еще работали. ./SQLEXPRESS? имя пользователя / SQLEXPRESS? или что-то еще целиком?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 28 мая 2009

Сначала разверните базу данных как файл данных. Затем он будет помещен в папку, определенную ApplicationDeployment.DataDirectory (при развертывании) или Application.StartupPath (при тестировании).

Затем вам нужно проверить контекст, в котором работает ваша программа:

string databaseLocation;
if (ApplicationDeployment.IsNetworkDeployed)
{
    databaseLocation = ApplicationDeployment.CurrentDeployment.DataDirectory;
}
else
{  
    databaseLocation = System.Windows.Forms.Application.StartupPath;
}
databaseLocation = System.IO.Path.Combine(databaseLocation, "databasename.mdf");
0 голосов
/ 27 мая 2009

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

...