#sql #vb.net #connection-string
#sql #vb.net #строка подключения
Вопрос:
у меня есть Visual Studio 2008, в котором я делаю ASP.NET применение. Теперь я хочу связать свои страницы с SQL Server 2008. На моей странице default.aspx я помещаю gridview, а затем я могу найти строку подключения оттуда к базе данных sql server, которую затем я могу поместить в класс и заставить все страницы использовать ее. Является ли это единственным способом найти строку подключения для любых серверов в сети или существуют другие способы (возможно, лучшие способы поиска строки соединения?)
Любая помощь будет оценена по достоинству.
Ответ №1:
Вместо использования gridview вы можете использовать WebConfigurationManager 2008…
Вот пример кода из MSDN, который показывает это:
<connectionStrings>
<add
name="NorthwindConnectionString"
connectionString="Data Source=serverName;Initial
Catalog=Northwind;Persist Security Info=True;User
ID=userName;Password=password"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
А вот и VB.Сетевой код, который использует эту строку подключения.
Dim rootWebConfig As System.Configuration.Configuration
rootWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/MyWebSiteRoot")
Dim connString As System.Configuration.ConnectionStringSettings
If (0 < rootWebConfig.ConnectionStrings.ConnectionStrings.Count) Then
connString = rootWebConfig.ConnectionStrings.ConnectionStrings("NorthwindConnectionString")
If Not (connString.ConnectionString = Nothing) Then
Console.WriteLine("Northwind connection string = {0}", connString.ConnectionString)
Else
Console.WriteLine("No Northwind connection string")
End If
End If
Комментарии:
1. Но как web.config узнает, какую базу данных я использую? источник данных connectionstring указывает только «Имя сервера». Если я изменю это имя, что будет с именем пользователя и паролем?
2. источник данных — это имя сервера и экземпляра, а начальный каталог — это имя вашей базы данных.
3. Прошу прощения. это то, что я имел в виду. как идентификатор и пароль там работают? Я спрашиваю, потому что мне нужно работать над чьим-то проектом на их базе данных и компьютере. Если я использую gridview, мне не нужно спрашивать у них имя пользователя и пароль. С помощью этого метода мне нужно имя пользователя / пароль или они есть в web.config?
4. Вы спрашиваете, нужно ли запрашивать у пользователя имя пользователя и пароль? Вероятно, gridview просто использует существующую строку подключения в вашем web.config, поэтому у него будет доступ к тем же данным, которые используются WebConfigurationManager… Я бы посмотрел на web.config и посмотрел, как выглядит ваша строка подключения…
5. o хорошо. Итак, я должен использовать все, что есть в web.config. В случае имени пользователя и пароля об этом позаботится менеджер веб-конфигурации. верно? нет запросов на ввод имени пользователя / пароля