用字符串可以连接数据库,但是用Linq to SQL 怎么就提示错误
下边是字符串,我可以连接上
public static class SqlHelper
{
static string conStr = "Data Source=XIE\\SQL08R2;Integrated Security=SSPI;Initial Catalog=Northwind";
private static SqlConnection con;
public static SqlConnection Con
{
get
{
if (con == null)
{
con = new SqlConnection(conStr);
con.Open();
}if(con.State==ConnectionState.Closed)
{
con.Open();
} if (con.State == ConnectionState.Broken)
{
con.Close();
con.Open();
}
return con;
}
}
建立新项Linq to SQL,通过 服务器资源管理器--->数据链接 已经把数据库下的表给拖出来了 然后运行就出错了
我不是已经都连上了数据库了吗,为什么运行的时候就连不上了?
出错信息:
异常:已捕获:“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)”(System.Data.SqlClient.SqlException)
捕获到一个 System.Data.SqlClient.SqlException:“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)”
[最优解释]
服务器资源管理器 中的数据库链接是哪一个库?
这你要搞清楚
在映射的时候,LINQ TO SQL会根据这个自动生成连接字符串
DataContext.Connection 看看链接
http://msdn.microsoft.com/zh-cn/library/system.data.linq.datacontext.connection.aspx
[其他解释]
一般是放在配置文件中的,当然也可以在代码中控制。
督察说的对,你再试试。
[其他解释]
你确定你映射的数据库连接字符串也是这个?
static string conStr = "Data Source=XIE\\SQL08R2;Integrated Security=SSPI;Initial Catalog=Northwind";
[其他解释]
LZ你确定连接对了?
[其他解释]
用LInq to Sql的时候,没有用连接字符串,是直接从 服务器资源管理器--->数据链接 拖出来的
[其他解释]
win2008 蓝盘了,重新安装后再来看看怎么回事
[其他解释]
DataContext.Connection 会在文件那个地方显示表达出来吗,比如webconfig,可以更改吗?
[其他解释]
thks :)