2010-06-24 109 views
1

我是一个初学者在使用Asp.NET用C#,这是我试图建立与SQL服务器的连接,我第一次2005数据库:ConnectionString的问题,2005年

这里是我的简单的代码连接到SQL Server数据库,我收到标签中设置的文本消息。我的连接字符串的问题?如果是的话,请告诉我的实例怎么写和OW获取服务器名称,并将其写正确....或如何指定数据库名称(全路径或只是数据库名称?)

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



     } 

谢谢,

+0

抛出什么异常?你可以在catch和output ex.Message之后添加(Exception ex)吗? – 2010-06-24 16:38:14

+0

他正在吃这个例外。 – 2010-06-24 16:41:33

回答

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



    } 

我有@符号连接字符串前失踪,我以前用户/代替,并得到了错误,我得到! (不这样做!!)

通过在服务器资源管理器中右键单击您的数据库并修改连接然后高级获取连接字符串.....复制一切从您获得的高级属性或只是基本连接字符串位于页面底部。

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

     } 

现在你是把隐藏的问题“无法连接到数据库愚蠢”到你的错误标签。

0

入住这Connection-Strings

之前这一切,你能不能让您使用的SQL Server版本,是居住在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(); 
} 
+0

是数据库驻留在App_Data目录中,服务器版本是SQL server 2005 ....我应该把这两个中的任何一个放在我的连接字符串中吗? – 2010-06-24 22:08:10

+0

试试这个: “Server =。\ SQLExpress; AttachDbFilename = | DataDirectory | Database。中密度纤维板; Database = dbname; Trusted_Connection = Yes;“ 将dbname替换为数据库名称,我想这应该做。 – Chaitanya 2010-06-25 00:48:35

2

使用受信任的连接应为SQL Server的连接字符串:

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

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

1

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

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