分享

MSSQLSERVER事件ID17806登录错误的解决方法

 herowuking 2014-12-18

参考别人的:
日志名称:          Application
来源:            MSSQLSERVER
日期:            2010/8/31 10:07:12
事件 ID:         17806
任务类别:          登录
级别:            错误
关键字:           经典
用户:            暂缺
计算机:           server1
描述:
使用集成安全性建立连接时,SSPI 握手失败,错误代码 0x8009030c;该连接已关闭。 

SSPI handshake failed with error code 0x8009030c while establishing a connection with integrated security; the connection has been closed.

前些日子,客户的Win2008+MSSQL2008总是报这个错误,但是不影响系统的正常使用,分析客户的应用系统,为PB6.5 PB8.0开发,通过调试,确认是系统(PB)的MSSQL的DLL文件版本太老造成的。

解决方法:
COPY MSSQL2000或更高版本的如下文件到WINNT\STSTEM32目录
Ntwdblib.dll         SQLServer核心文件
dbnetlib.dll         通信层协议文件
就搞定了!


我的错误原因:

VC连接远程SQL Server 2008的字符串有问题:

原来的:m_strConnection =_T("Driver={SQL Server};Server=" + strServerName + ";Trusted_Connection=Yes;Database=" + strDbName  + ";uid=" + strUserName + ";pdw=" + strPassWord);

看上去是用了用户名和密码,实际上把用户名和密码改了也能登录。。。身份验证模式为仅Windows

正确的:
//身份验证模式为:"sql server和windows"
m_strConnection =_T("Provider=SQLOLEDB.1;Persist Security Info=True;User ID=" + strUserName + ";Password="+strPassWord+";Initial Catalog=" + strDbName  + ";Data Source=" + strServerName);


然后,再为用户分配权限即可!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多