繁体   English   中英

Asp.net MVC SQL Server连接返回null

[英]Asp.net MVC SQL Server connection return null

我正在尝试连接到本地主机上的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'
                        )

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

Web配置

<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);
}

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM