你有尝试过用management studio 用那个连接字符串连接成功么? 检查数据库实例和数据库是否正确,
通过本机命名管道协议访问 SQL Server,你可以使用“.\SQLEXPRESS”。这样设置,其它人也只要是SQL Server 实例名称一样(而计算机名称可以不同)也不会有影响。如果使用IP方式、通过TCP方式访问SQL Server,你必须首先保证你的 SQL Server 管理系统已经启动了SQL Server 的TCP服务,配置了默认的(两个)端口。默认情况下,这是关闭了的。而你并没有这方面的说明!
<configuration>
<appSettings>
<add key="MyConnstring" value="Data Source=127.0.0.1;Initial Catalog=StudDB;Integrated Security=True;User ID=123;Password=123"/>
</appSettings>
<system.web>
<compilation debug="true"/> </system.web>
</configuration>
以上是web.config配置代码
public int Rownum(string sql,string tname,ref string sname)
{
int i=0;
string mystr = ConfigurationManager.AppSettings["MyConnstring"];
SqlConnection MyConn = new SqlConnection();
MyConn.ConnectionString = mystr;
MyConn.Open();
SqlCommand mycmd = new SqlCommand(sql, MyConn);
SqlDataReader myreader = mycmd.ExecuteReader();
while (myreader.Read())
{
sname = myreader[0].ToString();
i++;
}
MyConn.Close();
return i;
}
以上是调用代码
1:首先检查你的本机的SQL是否启动的
2:本机的数据库是Express 还是
3:没什么别的问题,就是SQL连不上, 检查字符串,检查本机SQL运行状态。
<add name="connString" connectionString="Data Source=.;Initial Catalog=StudDB;Integrated Security=True;User ID=123;Password=123"/>
<add name="connString" connectionString="Data Source=.SQLEXPRESS;Initial Catalog=StudDB;Integrated Security=True;User ID=123;Password=123"/>如果是直接访问mdf数据库文件的话
<add name="MyConnstring" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\xxx.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /
检查数据库实例和数据库是否正确,
通过本机命名管道协议访问 SQL Server,你可以使用“.\SQLEXPRESS”。这样设置,其它人也只要是SQL Server 实例名称一样(而计算机名称可以不同)也不会有影响。如果使用IP方式、通过TCP方式访问SQL Server,你必须首先保证你的 SQL Server 管理系统已经启动了SQL Server 的TCP服务,配置了默认的(两个)端口。默认情况下,这是关闭了的。而你并没有这方面的说明!
这三个显然都不对。第一个是访问 (local) 实例,而你明明是 Express 实例。第二个,显然连格式都写错了。第三个,是另外一回事儿,AttachDbFile 方式并不是你的多用户共享数据库模式。你可以选择附加文件方式,但是这就跟一个进程去(在其它进程已经访问数据库的同时)并发访问一个现成的、正在工作的数据库系统,并不是同一个概念。
2、用你的用户名和密码是否能登录sql server,另外你的机器上是否有这个数据库?
3、代码做下清理,重新生成