VB.NET连接字符串(Web.Config、App.Config)
真的有一个恼人的时间与连接字符串 我在一个解决方案中有两个项目。一个Web表单应用程序充当表示层,一个支持它的类库将从数据库发送和接收数据。 --类库项目中的Employee类-- 当前,应用程序告诉我它无法访问“My_ConnectionString”,我已尝试将其存储在配置文件中,以便快速重复访问:VB.NET连接字符串(Web.Config、App.Config),vb.net,connection-string,Vb.net,Connection String,真的有一个恼人的时间与连接字符串 我在一个解决方案中有两个项目。一个Web表单应用程序充当表示层,一个支持它的类库将从数据库发送和接收数据。 --类库项目中的Employee类-- 当前,应用程序告诉我它无法访问“My_ConnectionString”,我已尝试将其存储在配置文件中,以便快速重复访问: <configuration> <system.web> <compilation debug="true" strict="false" explicit
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<connectionStrings>
<add name="My_ConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=My_DB;Integrated Security=True;"/>
</connectionStrings>
</configuration>
web.config是web表单项目的一部分,而不是类库,这些项目是否无法相互“对话”?我是否需要将web/app配置文件添加到类库中以在该项目中存储连接字符串?不清楚在您的示例中我的连接字符串从何而来,但请尝试此方法
System.Configuration.ConfigurationManager.ConnectionString(“我的连接字符串”).ConnectionString
像这样
Dim DBConnection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString)
如果它是.mdf数据库,并且在创建时保存了连接字符串,则您应该能够通过以下方式访问它:
Dim cn As SqlConnection = New SqlConnection(My.Settings.DatabaseNameConnectionString)
希望这对某人有所帮助。APPConfig中的连接
Public Function connectDB() As OleDbConnection
Dim Con As New OleDbConnection
'Con.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=" & DBNAME & ";Data Source=" & DBSERVER & ";Pwd=" & DBPWD & ""
Con.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DBNAME;Data Source=DBSERVER-TOSH;User ID=Sa;Pwd= & DBPWD"
Try
Con.Open()
Catch ex As Exception
showMessage(ex)
End Try
Return Con
End Function
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com" providerName="System.Data.SqlClient" />
</connectionStrings>
我不知道这是否仍然是一个问题,但我更喜欢在代码中使用My.Settings Visual Studio生成一个简单的类,其中包含用于从app.config文件读取设置的函数 您只需使用My.Settings.ConnectionString访问它
Using Context As New Data.Context.DataClasses()
Context.Connection.ConnectionString = My.Settings.ConnectionString
End Using
从您的代码中,看起来您正试图使用
My_ConnectionString
从配置文件中检索值。如果这是正确的,那将不起作用-您需要以类似于下面@G.Stoynev的回答的方式从配置文件中检索它。这可能很有用,您还可以添加对System.Configuration
的引用,使用Imports System.Configuration导入它,然后使用较短的ConfigurationManager.ConnectionString(“My_ConnectionString”)访问它.ConnectionString
。我还建议使用using
块来确保正确处理连接。“ConfigurationManager”不是“Configuration”的成员。我觉得我在某个地方犯了一个错误…@Corgalas-您是否在项目(DLL)中添加了对System.Configuration的引用并添加一个Imports System.Configuration
语句?添加对项目的引用。谢谢蒂姆!你能给你的代码加些解释吗?谢谢此连接字符串具有硬编码的条目,它无法从.config获取这些条目。如果您需要指向其他服务器,该怎么办?使用这段代码,应用程序将需要随更改一起部署。通过.config,可以在后台对其进行更改
public string ConnectionString
{
get
{
return System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
}
}
Using Context As New Data.Context.DataClasses()
Context.Connection.ConnectionString = My.Settings.ConnectionString
End Using