webentwicklung-frage-antwort-db.com.de

VB.NET-Verbindungszeichenfolge (Web.Config, App.Config)

Wirklich eine nervige Zeit mit Verbindungsstrings.

Ich habe zwei Projekte zusammen in einer einzigen Lösung. Eine Web Forms-Anwendung, die als Präsentationsschicht fungiert, und eine Klassenbibliothek, die diese unterstützt, die Daten aus einer Datenbank sendet und empfängt ..

- Die Mitarbeiterklasse im Klassenbibliothekprojekt -

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

Derzeit sagt mir die Anwendung, dass sie nicht auf "My_ConnectionString" zugreifen kann, das ich für einen schnellen Zugriff in einer Konfigurationsdatei speichern wollte:

<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>

Die web.config ist Teil des Webformularprojekts und nicht der Klassenbibliothek. Können diese Projekte nicht miteinander "sprechen"? Muss ich der Klassenbibliothek eine Web-/App-Konfigurationsdatei hinzufügen, um eine Verbindungszeichenfolge in diesem Projekt zu speichern?

6
Corgalas

Nicht klar, woher My_ConnectionString in Ihrem Beispiel kommt, aber versuchen Sie dies

System.Configuration.ConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString

so was

Dim DBConnection As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("My_ConnectionString").ConnectionString)
15
G. Stoynev

Wenn es sich um eine .mdf-Datenbank handelt und die Verbindungszeichenfolge bei ihrer Erstellung gespeichert wurde, sollten Sie darauf zugreifen können:

    Dim cn As SqlConnection = New SqlConnection(My.Settings.DatabaseNameConnectionString)

Hoffe das hilft jemandem.

5
Dave
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
0
sameer pm

Verbindung 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();
    }
}
0
sameer pm