Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#数据库连接SQL Server 2005中的连接字符串问题_C#_Asp.net_Sql Server 2005 - Fatal编程技术网

C#数据库连接SQL Server 2005中的连接字符串问题

C#数据库连接SQL Server 2005中的连接字符串问题,c#,asp.net,sql-server-2005,C#,Asp.net,Sql Server 2005,我是将Asp.NET与C#结合使用的初学者,这是我第一次尝试与SQL server 2005数据库建立连接: 这是我连接sql server数据库的简单代码,我在标签中设置了文本消息。我的问题在连接字符串中吗???如果是这样的话,请向我演示如何编写它,以及如何获取服务器名称并正确编写它……或者如何指定数据库名称(所有路径或仅数据库名称??) 谢谢,将您的代码更改为此,并发布LBL消息中包含的内容: protected void Page_Load(object sender, EventArgs

我是将Asp.NET与C#结合使用的初学者,这是我第一次尝试与SQL server 2005数据库建立连接:

这是我连接sql server数据库的简单代码,我在标签中设置了文本消息。我的问题在连接字符串中吗???如果是这样的话,请向我演示如何编写它,以及如何获取服务器名称并正确编写它……或者如何指定数据库名称(所有路径或仅数据库名称??)


谢谢,

将您的代码更改为此,并发布LBL消息中包含的内容:

protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection("server = Saher;Database=Database.mdf;integrated security = true");
            try{
                connection.Open();
            }
            catch(Exception ex)
            {
                lblMessage.Text = ex.Message;
            }finally{
                connection.Close();
            }

        }

现在,通过在错误标签中添加“无法连接到愚蠢的数据库”来隐藏问题

将您的代码更改为此,并发布LBL消息中包含的内容:

protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection("server = Saher;Database=Database.mdf;integrated security = true");
            try{
                connection.Open();
            }
            catch(Exception ex)
            {
                lblMessage.Text = ex.Message;
            }finally{
                connection.Close();
            }

        }
现在,通过在错误标签中添加“无法连接到愚蠢的数据库”来隐藏问题

检查这个

在此之前,您能否清楚地说明您使用的是哪个版本的SQL server,以及数据库文件是否位于App_数据目录中

//Change the catch statement to get the error
//Original Code

catch{
  lblMessage.Text = "COULDN'T CONNECT to Stupid database";
}

//Change it into
catch(Exception ex){
  lblMessage.Text = ex.Message.ToString();
}
检查这个

在此之前,您能否清楚地说明您使用的是哪个版本的SQL server,以及数据库文件是否位于App_数据目录中

//Change the catch statement to get the error
//Original Code

catch{
  lblMessage.Text = "COULDN'T CONNECT to Stupid database";
}

//Change it into
catch(Exception ex){
  lblMessage.Text = ex.Message.ToString();
}

使用受信任连接的SQL Server的连接字符串应如下所示:

数据源=myserver地址;初始目录=myDataBase;集成安全=SSPI

myServerAddress
可以是服务器名称的IP地址,例如SQLSERVER01或192.168.1.5
myDataBase
应为实际数据库名称,而不是MDF文件,例如Northwind

使用受信任连接的SQL Server的连接字符串应如下所示:

数据源=myserver地址;初始目录=myDataBase;集成安全=SSPI

myServerAddress
可以是服务器名称的IP地址,例如SQLSERVER01或192.168.1.5
myDataBase
应该是实际的数据库名称,而不是MDF文件,例如Northwind

其他人已经建议更好的异常处理来获取一些信息


另一种方法:此外,您可以使用VisualStudio的“添加数据源”向导查找并连接到数据库。您可以在虚拟页面或项目中执行此操作。然后复制生成的ConnectionString(从xx.config)。其他人已经建议更好的异常处理来获取一些信息


另一种方法:此外,您可以使用VisualStudio的“添加数据源”向导查找并连接到数据库。您可以在虚拟页面或项目中执行此操作。然后复制生成的连接字符串(从xx.config)。

谢谢大家!我想我这里有不止一个问题,但让我展示一下解决方案,这样就不会有人花很多时间连接SQL server数据库

protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\ChurchApp\ChurchApplication\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
        try{
            connection.Open();
            lblMessage.Text = "Connection Succeeded!";
        }
        catch(Exception ex){
            lblMessage.Text = ex.Message;
        }finally{
            connection.Close();
        }



    }
我在连接字符串之前缺少了
@
符号,我使用了/来克服我得到的错误!!!(不要那样做!!)


在服务器资源管理器中右键单击您的数据库,然后修改连接,然后选择“高级…”来获取连接字符串。复制您获得的高级属性中的所有内容,或者只复制页面底部的基本连接字符串。

谢谢大家!我想我这里有不止一个问题,但让我展示一下解决方案,这样就不会有人花很多时间连接SQL server数据库

protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\ChurchApp\ChurchApplication\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
        try{
            connection.Open();
            lblMessage.Text = "Connection Succeeded!";
        }
        catch(Exception ex){
            lblMessage.Text = ex.Message;
        }finally{
            connection.Close();
        }



    }
我在连接字符串之前缺少了
@
符号,我使用了/来克服我得到的错误!!!(不要那样做!!)


在服务器资源管理器中右键单击您的数据库,然后修改连接,然后修改高级…以获取连接字符串。复制您获得的高级属性中的所有内容,或者仅复制页面底部的基本连接字符串。

引发了什么异常?您可以在捕获和输出ex.消息之后添加(Exception ex)吗?引发了什么异常?能否在捕获和输出ex.消息后添加(Exception ex)?是的,数据库位于App_数据目录中,服务器版本为SQL server 2005。。。。我是否应该将这两个选项中的任何一个放在我的连接字符串中?请尝试以下操作:“Server=。\SQLExpress;AttachDbFilename=| DataDirectory | Database.mdf;Database=dbname;Trusted_connection=Yes;”用数据库名称替换dbname。我想这应该可以。是的,数据库驻留在App_数据目录中,服务器版本是SQL server 2005。。。。我是否应该将这两个选项中的任何一个放在我的连接字符串中?请尝试以下操作:“Server=。\SQLExpress;AttachDbFilename=| DataDirectory | Database.mdf;Database=dbname;Trusted_connection=Yes;”用数据库名称替换dbname。我想这应该可以。