用字符串可以连接数据库,但是用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";