VB.NET Connection string (Web.Config, App.Config)
Solution 1
Not clear where My_ConnectionString
is coming from in your example, but try this
System.Configuration.ConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString
like this
Dim DBConnection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString)
Solution 2
If it's a .mdf database and the connection string was saved when it was created, you should be able to access it via:
Dim cn As SqlConnection = New SqlConnection(My.Settings.DatabaseNameConnectionString)
Hope that helps someone.
Solution 3
Connection in APPConfig
<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>
In Class.Cs
public string ConnectionString
{
get
{
return System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
}
}
Corgalas
Updated on July 09, 2022Comments
-
Corgalas almost 2 years
Really having an annoying time with connection strings.
I have two projects together in a single solution. A Web forms application acting as the presentation layer, and a class library supporting it which will send and receive data from a database.
-- The Employee Class within the Class Library Project --
Friend Class Employee Public Function GetEmployees() As DataSet Dim DBConnection As New SqlConnection(My_ConnectionString) Dim MyAdapter As New SqlDataAdapter("exec getEmployees", DBConnection) Dim EmployeeInfo As DataSet MyAdapter.Fill(EmployeeInfo, "EmployeeInfo") Return EmployeeInfo End Function End Class
Currently the application is telling me it cannot access "My_ConnectionString" which I have attempted to store within a config file for quick repeated access:
<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>
The web.config is part of the web form project and not the class library, are these projects unable to 'talk' to each other? Do I need to add a web / app config file to the class library to store a connection string within that project?
-
Tim over 11 yearsYou can also add a reference to
System.Configuration
, import it withImports System.Configuration
and then access it with the shorterConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString
. -
Tim over 11 yearsI would also suggest using a
Using
block to ensure the connection is properly disposed of. -
Corgalas over 11 years'ConfigurationManager' is not a member of 'Configuration' I feel like I've made a mistake somewhere...
-
Tim over 11 years@Corgalas - Did you add a reference to System.Configuration in your project (the DLL) and add an
Imports System.Configuration
statement? -
Corgalas over 11 yearsForgot the add the reference to the project. Thanks Tim!
-
cramopy over 8 yearsWould you please add some explanation to your code? Thanks!
-
Phil3992 over 5 yearsThis connection string has hard coded entries,it's not getting them from the .config. What if you need to point to a different server? With this code the application would need deploying with the changes. With .config it can be changed in the background
-
SRoy over 5 yearsthis answer solved my problem and I think this is the best practice to declare connection sting by it's name. it helps migration process
-
Brandon Barkley over 3 yearsI have never understood why System.Configuration isn't included by default.