无法访问服务器计算机中的SQL Server文件

时间:2011-03-20 11:25:49

标签: sql-server wcf iis

我在服务器计算机上设置了我的WCF服务。

服务器操作系统是带有SQL Server 2008 Express的Windows 2008。

我正在尝试访问我的SQL Server(mdf)文件以使用LINQ to SQL读取数据。

我看到DataContext没问题 - 但是当我尝试获取其中一个表中的信息时,我得到了一个异常

  

无法生成用户实例   SQL Server由于失败而导致   检索用户的本地   应用数据路径。请做出来   确保用户具有本地用户配置文件   在计算机上的。连接会   关闭。

我不知道我需要在IIS 7.5中定义或更改我在服务器端使用的内容。

感谢您的帮助。

更新:与数据库文件的连接很好 - 但从表中获取信息是一个例外。连接字符串是:

Data Source=.;AttachDbFilename=|DataDirectory|\ServiceData.mdf;
  Integrated Security=SSPI;User Instance=True

2 个答案:

答案 0 :(得分:2)

如果您已有服务器,为什么不将MDF连接到运行的SQL Server(Express),然后像服务器上的普通数据库一样使用它?

执行此操作后,请使用连接字符串,如:

server=Server\SQLExpress;Database=YourDatabaseName;Integrated Security=SSPI

我从来不喜欢AttachDbFileName=User Instance方法 - 对我来说似乎是一种(不可靠)黑客攻击,如果你在服务器上运行,这真的没有意义。

答案 1 :(得分:1)

您收到此错误消息的原因是您的代码位于从未登录到服务器的用户的安全上下文中。因此,用户没有配置文件,因此当代码尝试写入不存在的配置文件时,您会收到错误。

您可以使用marc_s的方法,也可以作为具有个人资料的用户运行。