C#数据库连接SQL Server 2005中的ConnectionString问题

时间:2010-06-24 16:34:50

标签: c# asp.net sql-server-2005

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

这是我连接到sql server数据库的简单代码,我在标签中设置了文本消息。我的问题在connectionString ???如果是这样请向我展示如何编写它并获取服务器名称并正确编写它的示例....或者如何指定数据库名称(所有路径或只是数据库名称?)

protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection("server = Saher;Database=Database.mdf;integrated security = true");
            try{
                connection.Open();
            }
            catch{
                lblMessage.Text = "COULDN'T CONNECT to Stupid database";
            }finally{
                connection.Close();
            }



        }

谢谢,

5 个答案:

答案 0 :(得分:2)

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

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI

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

答案 1 :(得分:1)

将您的代码更改为此并发布lblMessage中包含的内容:

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

        }

现在您通过将“COULD NOT CONNECT to Stupid database”放入错误标签来隐藏问题。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

选中此Connection-Strings

在此之前,你能说清楚你使用的是哪个版本的SQL服务器,并且是驻留在App_Data目录中的数据库文件吗?

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

答案 4 :(得分:0)

谢谢大家!我想我在这里遇到了不止一个问题,但让我展示解决方案,以便没有人会花费很多时间连接到SQL服务器数据库!!

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



    }

我在连接字符串之前丢失了@符号,而且我曾经使用/来代替我得到的错误! (不要那样做!)

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