sql数据库连接问题
本人初学asp.net,sqlserver也没有用过。网上有人说vs2008里自带的sql2005只能用于调试,如果建立站点还需要安装sql2005.但我在网上下了好几个版本都装不上,安装过程中老是提示错误,我的机子是win7。
偶然的一谈,在vs里乱点,添加了一个数据连接。好像稀里糊涂的建了一个数据库节点,并添加了我需要的几张数据表。在asp页面上添加了gridview 通过配置数据源建立了连接,并把连接字符串存到了config文件中。
C# code
<connectionStrings> <!--数据库连接字符串-->
<add name="forconnstr" connectionString="Data Source=AKSLJ\SQLEXPRESS;Initial Catalog=forcastserver;Integrated Security=True;Pooling=False" providerName="System.Data.SqlClient"/>
</connectionStrings>
但是现在,我想通过各种选择控件和后台程序来动态查询数据库,但连不上数据。
C# code
protected void Button1_Click(object sender, EventArgs e)
{
DateTime MyDate = DateTime.Parse(TextBox1.Text);
DateTime MyDate1 = DateTime.Parse(TextBox2.Text);
//使用ADO连接数据库=AKSLJ\SQLEXPRESS
//string SqlStr="Server=(local);user id=sa;Pwd=; DataBase=forcastserver"; //用这条语句连不上
string SqlStr = "Data Source=SQLEXPRESS;Initial Catalog=forcastserver;Integrated Security=True;Pooling=False";
SqlConnection con=new SqlConnection(SqlStr);
con.Open(); //[color=#FF0000]这里出错!!!![/color]
string sql= "select * from test where 日期>='"+MyDate +"'and 日期<='"+MyDate1 +"'";
SqlDataAdapter dap=new SqlDataAdapter(sql ,con);
DataSet ds = new DataSet();
dap.Fill(ds);
GridView2.DataSource = ds.Tables[0].DefaultView;
con.Close();
}
错误提示:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
另外还想问下,如何通过引用config里的数据库连接字符串实现连接sql.看书上写的,这样很方便。但书上的和我的连接字符串不太一样,按书上依葫芦画瓢写的语句有错误。
还有就是通过页面配置数据源的时候,只能采用用windows登陆方式可以连通,但用sql用户登陆(书上用的user id="sa";pwd=;)不能连接。在选择数据文件的下拉菜单是空的,自己手动输入数据库文件名测试连接也连不上。不知道是怎么回事儿,请高人指点!!
------解决方案--------------------1.把sql server 卸载了 再安装高版本的sql server
把数据库运行起来再说
可以的话 重装一下系统 安装vs的时候 去掉SQLEXPRESS 貌似是最后一个
------解决方案--------------------嗯,Data Source=SQLEXPRESS这种链接建立的是嵌入式的SQLServer,不是服务器,重新装过吧。
------解决方案-------------------- //string SqlStr="Server=(local);user id=sa;Pwd=; DataBase=forcastserver"; //用这条语句连不上,(local)左括号是中文的,有错
string SqlStr = "Data Source=SQLEXPRESS;Initial Catalog=forcastserver;Integrated Security=True;Pooling=False";
SQLEXPRESS是你的数据库服务器名称吗?换成你自己的数据库服务器名称