【问题标题】:Web.config entry to connect to SQL Server用于连接 SQL Server 的 Web.config 条目
【发布时间】:2011-04-25 03:15:03
【问题描述】:

我正在尝试将我的应用程序的连接从 Oracle 更改为 SQL Server。我在 web.config 中有这个。

<compilation debug="true">
    <assemblies>
        ...
        <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        ...
    </assemblies>
</compilation>

<appSettings>
    <add key="DatabaseProvider" value="Test.App.Oracle8i"/>
    <add key="SmtpUser" value="mail@example.com"/>
    <add key="SmtpPassword" value="testpassword"/>
    <add key="SmtpDefaultSender" value="mail@example.com"/>
    <add key="SmtpHost" value="mail.example.com"/>
    <add key="SmtpPort" value="25"/>
    <add key="EnableSsl" value="False"/>
</appSettings>

还有这个

<connectionStrings>
    <add name="CnString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=loCALHOST)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=TESTUSER;Password=TESTPASSWORD;"/>
</connectionStrings>

当我更改这些值时,这些应用程序将不会运行并标记错误。

<compilation debug="true">
    <assemblies>
        ...
        <add assembly="System.Data.SqlClient, Version=10.50.1600, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        ...
    </assemblies>
</compilation>

<appSettings>
    <add key="DatabaseProvider" value="Test.App.SqlServer"/>
    <add key="SmtpUser" value="mail@example.com"/>
    <add key="SmtpPassword" value="testpassword"/>
    <add key="SmtpDefaultSender" value="mail@example.com"/>
    <add key="SmtpHost" value="mail.example.com"/>
    <add key="SmtpPort" value="25"/>
    <add key="EnableSsl" value="False"/>
</appSettings>

最后一个

<connectionStrings>
    <add name="CnString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=MSSQLSERVER)));Initial Catalog=TESTDATABASE;User Id=TESTUSER;Password=TESTPASSWORD;"/>
</connectionStrings>

<connectionStrings>
    <add name="CnString" providerName="System.Data.SqlClient" connectionString="Data Source=(local)\\MSSQLSERVER;Initial Catalog=TESTDATABASE;User Id=TESTUSER;Password=TESTPASSWORD;"/>
</connectionStrings>

我不明白是不是应该做的台词。

<add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add key="DatabaseProvider" value="Test.App.Oracle8i"/>
<add name="CnString" connectionString="Data Source=**(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=loCALHOST)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)))**;User Id=TESTUSER;Password=TESTPASSWORD;"/>

【问题讨论】:

  • 对于 SQL Server - 你只需要 部分并使用 ConfigurationManager 类在代码中使用它。剩下的所有你可以删除你对 Oracle 拥有的东西。没有 1 到 1映射,因为每个提供商都需要不同的设置。
  • 嗯,我是新手,不太明白你在说什么。你能举个例子吗?或者你能告诉我正确的步骤吗?

标签: asp.net sql-server web-config database-connection connection-string


【解决方案1】:

您需要连接到 SQL Server 的仅有 2 行是:

<connectionStrings>
    <add name="CnString" providerName="System.Data.SqlClient" connectionString="Data Source=(local)\\MSSQLSERVER;Initial Catalog=TESTDATABASE;User Id=TESTUSER;Password=TESTPASSWORD;"/>
</connectionStrings>

<assemblies>
    <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>

(在 .NET 2.0/3.x 的情况下更改版本和 publicKeyToken)

然后使用:

SqlConnection connection = new SqlConnection("CnString");
// ...

就是这样。


在.NET 中没有System.Data.SqlClient, Version=10.50.1600, ... 这样的程序集。 SqlClient 是标准 .NET Framework 发行版的一部分。

例如System.Data.SqlClient.SqlConnection:

Namespace:  System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 2022-10-15
    • 2012-10-23
    • 2022-08-14
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多