2011-03-20 91 views
1

我在服务器计算机上设置了我的WCF服务。无法访问服务器计算机中的SQL Server文件

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

我想访问我的SQL Server(mdf)文件来使用LINQ to SQL读取数据。

我看到DataContext的是OK - 但是当我试图让信息在表格中的一个我得到一个异常

无法生成 SQL Server的用户实例由于 失败检索用户的本地应用程序数据路径 。请确保用户在计算机上拥有本地用户配置文件 。连接将关闭 。

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

感谢您的任何帮助。

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

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

你可以包含连接字符串吗? – eugeneK 2011-03-20 12:05:39

+0

与数据库文件的连接很好 - 但从表中获取信息是通过一个例外。连接字符串:Data Source = .; AttachDbFilename = | DataDirectory | \ ServiceData.mdf;集成安全性= SSPI;用户实例= True – Yanshof 2011-03-20 12:09:28

+1

请不要在评论中放入这样的东西!真的很难阅读。相反:**更新**您的原始帖子**编辑**它提供额外的信息! – 2011-03-20 12:22:21

回答

2

如果你已经有一台服务器,你为什么不只是附加的MDF到SQL Server(快递)上运行,然后使用它像您的服务器上正常的数据库?

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

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

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

1

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

您可以使用marc_s的方法,或者您可以作为具有配置文件的用户运行。

+0

服务器赢得2008年 - 什么是marc_s的方法?如果尝试获取信息的用户使用WCF Web服务获取信息 - 他如何登录系统? – Yanshof 2011-03-20 14:05:49

相关问题