【问题标题】:Asp.net MVC SQL Server connection return nullAsp.net MVC SQL Server 连接返回 null
【发布时间】:2018-09-12 00:45:27
【问题描述】:

我正在尝试连接到本地主机上的 Microsoft SQL Server。我的代码如下。

public SqlConnection con;

// To Handle connection related activities
private void connection()
{
    string constr = ConfigurationManager.ConnectionStrings["Data Source = MACHINE-VOIV7EH\\SQLEXPRESS; Initial Catalog = geolog; Persist Security Info = False; "].ToString();
    con = new SqlConnection(constr);
}

public List<Bob> GetAllBobs()
{
    try
    {
        connection();
        con.Open();

        IList<Bob> EmpList = SqlMapper.Query<Bob>(con, "GetBobs").ToList();
        con.Close();

        return EmpList.ToList();
    }
    catch (Exception)
    {
        throw;
    }
}

con返回null

SQL Server 设置:

来自 Pyton 的配置(尝试,但另一个数据库):

conn = pypyodbc.connect('DRIVER={SQL Server};'
                        r'SERVER=MACHINE-VOIV7EH\SQLEXPRESS;'
                        r'DATABASE=vibori;'
                        r' autocommit=True'
                        )

【问题讨论】:

    标签: c# sql-server asp.net-mvc connection-string


    【解决方案1】:

    问题在于您的连接字符串。您应该从web.config 文件中引用您的连接字符串。

    Web.Config

    <connectionStrings>
        <add name="master" providerName="System.Data.SqlClient" connectionString="Data Source=ACHINE-VOIV7EH\\SQLEXPRESS;Initial Catalog=geolog;Integrated Security=False;User Id=your_user_id;Password=xxxxxx;MultipleActiveResultSets=True" />
      </connectionStrings>
    

    C# 文件

     SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["master"].ConnectionString);
    

    或者你可以只发送一个连接字符串如下

    private void connection()
    {
       string constr = "Data Source=MACHINE-VOIV7EH\\SQLEXPRESS; Initial Catalog = geolog; Persist Security Info = False;";
       con = new SqlConnection(constr);
    }
    

    【讨论】:

      【解决方案2】:

      ConfigurationManager.ConnectionStrings[string] 的字符串索引是连接名称,而不是它返回的连接字符串。使用您的 Web 配置文件 (web.config) 添加一个或多个可由该索引器返回的命名连接字符串。

      例子:

      string constr = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString
      

      和部分web.config 内容

      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
        <connectionStrings>
          <add name="MyConnection" connectionString="Data Source=MACHINE-VOIV7EH\SQLEXPRESS;Initial Catalog=vibori" providerName="System.Data.SqlClient" />
        </connectionStrings>
      </configuration>
      

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 2015-11-19
        • 1970-01-01
        • 2010-11-22
        • 2019-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多