【问题标题】:Connection string has quotation mark, how to pass it to SqlConnection连接字符串有引号,如何传递给SqlConnection
【发布时间】:2015-03-29 18:26:47
【问题描述】:

我在我的项目中创建了一个LocalDB 数据库,它的连接字符串是:

Data Source=(LocalDB)\v11.0;AttachDbFilename="E:\Projects\visual studio 2013\Projects\sqlce\mydb.mdf";Integrated Security=True;Connect Timeout=30

我应该如何将它传递给SqlConnection()

请注意,它有一个引号内的地址。我做错什么了吗?

我想即使我正确地对其进行了编程,它也无法在另一台没有.mdf 文件的计算机上工作。不是吗?

我怎样才能有一个带有便携式数据库的程序,以便我可以轻松地发布我的 pp?

【问题讨论】:

  • 把你的连接字符串放在app.config中——相关问题stackoverflow.com/questions/14918912/…——或者转义你的引号——stackoverflow.com/questions/25072580/…
  • SQL Server(使用.mdf 文件)是一个基于服务器的数据库系统——它绝对不能被认为是一个便携式 数据库。您需要在远程系统上安装 SQL Server(核心引擎),或者可以访问具有在该 LAN 上某处运行的 SQL Server 实例的 LAN...

标签: c# sql .net sql-server localdb


【解决方案1】:

将 mdf 文件添加到您的解决方案中,并将“复制到输出目录”属性更改为始终复制。不要在连接字符串中硬编码 mdf 文件路径。在 app.config 或 web.config 文件中添加连接字符串,如下所示:

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\myDB.mdf;Initial Catalog=MyDatabaseName;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

然后你可以在你的 C# 代码中访问连接字符串,如下所示:

string conStr = System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()

如果您在访问 mdf 文件时遇到任何错误,您可以使用 AppDomain.CurrentDomain.SetData() 方法在 C# 代码中设置 DataDirectory。

【讨论】:

    【解决方案2】:
    <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>
    

    你可以通过

    connString =rootWebConfig.ConnectionStrings.ConnectionStrings["NorthwindConnectionString"];
    

    More about connection string

    SqlConnection con = new SqlConnection(connstring);
    

    或者你可以像这样走

    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-23
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      相关资源
      最近更新 更多