几天来,我一直试图从Juval的网站(编程WCF服务和IDesign创始人一书的作者)编译/运行一个WCF示例应用程序。该示例应用程序利用了Juval的ServiceModelEx库,该库将错误/错误记录到"WCFLogbook“SQL数据库。不幸的是,当示例应用程序出错时,我得到以下错误:
SQL异常4060:“无法打开登录请求的数据库\”WCFLogbook。登录失败。\r\nLogin对用户‘Bill\Bill’失败。“
我确认已经创建了SQL WCFLogbook数据库,并为我(Bill\Bill)访问数据库授予了所有适当的权限。此外,防火墙中打开了端口8006和端口1433。已启用TCP/IP,并已检查“允许远程连接到此服务器”。我在App.Config文件中使用以下端点:
<client>
<endpoint name="LogbookTCP"
address="net.tcp://Bill-PC:8006/LogbookManager"
binding="netTcpBinding"
contract="ILogbookManager"
/>
</client>不幸的是,SQL是一个我以前不需要冒险进入的“世界”,我对自己缺乏成功感到非常沮丧。还有人会对如何让这件事奏效有其他建议吗?我错过了什么吗?
发布于 2010-06-15 22:08:29
无法打开登录请求的数据库"WCFLogbook“
错误信息非常清楚。我理解你的挫折感,但我首先相信错误信息,其次是你的调查。错误消息说数据库不存在,或者不能打开,或者用户没有访问它的权限。必须一步一步地验证:
发布于 2010-06-15 22:01:58
SQL Exception 4060: "Cannot open database \"WCFLogbook\" requested by the login. The login failed.\r\nLogin failed for user 'Bill-PC\Bill'."
很明显,您的数据库有一个登录错误。异常抛出在哪里?在客户端应用程序中还是在WCF服务调用中?
我问的原因是要指出要在哪里调试;如果异常来自WCF调用上的故障契约,则很可能发生在服务本身中。如果它在客户端应用程序上,那么显然这就是问题所在。
您使用的是什么版本的SQL?如果您有SQL,那么默认情况下,您应该有足够的权限来运行该应用程序。您的用户是管理员吗?您可能需要以管理员身份打开数据库,然后确保Bill\Bill有一个登录名,并已映射到WCFLogbook数据库中的dbo模式。
https://stackoverflow.com/questions/3049360
复制相似问题