HRESULT Open(_bstr_t ConnectonString, _bstr_t Uid, _bstr_t Password, long Options);
我的两种调用如下:
hrc = m_pConnection->Open("driver={SQL server};server=192.178.1.14;database=nescafe_cap;uid=ks;pwd=k","","",adModeUnknown);
hrc = m_pConnection->Open("driver={SQL server};server=192.178.1.14;database=nescafe_cap","uid=ks","pwd=k",adModeUnknown);
我捕捉到的异常为:DB_SEC_E_AUTH_FAILED ,IDispatch error #3149
请问这几个参数具体是什么意思?Uid是用户的等入名(帐号)吗?在建立数据库连接时是否要对数据库做相应的设置?
哪位大侠给详细讲解一下,最好附实例
(我写的是SDK程序)
11 个解决方案
#1
mark
#2
HRESULT Open(_bstr_t ConnectonString, _bstr_t Uid, _bstr_t Password, long Options);
我看很多大侠的帖子,Uid = sa,我也查过数据库的属性,发现数据库的所有者为sa,这好像是默认的,如果是这样的话,那Password又指什么呢??
给点提示嘛哈
我看很多大侠的帖子,Uid = sa,我也查过数据库的属性,发现数据库的所有者为sa,这好像是默认的,如果是这样的话,那Password又指什么呢??
给点提示嘛哈
#3
DB_SEC_E_AUTH_FAILED ,IDispatch error #3149与密码无关,你调用了连接对象的CreateInstance方法了吗?
#4
如樓上所說 CreateInstance() 調用了沒?
#5
m_pConnection->Open("Provider=sqloledb;Data Source=myServerName;Initial Catalog=myDatabaseName;User Id=myUsername;Password=myPassword","","",adModeUnknown)
#6
hrc = m_pConnection->Open("driver={SQL server};server=192.178.1.14;database=nescafe_cap;uid=ks;pwd=k","ks","k",adModeUnknown);
#7
你单步调试一下,看看是哪一条语句出错了。。
#8
访问数据库的用户名和口令错误,SQL Server数据库安装后有一个默认用户sa,它的口令由安装时设定,也可能为空。你要用用户ks和口令k访问数据库,你要先用SQL Server的企业管理器进去后建立好相应的用户名和口令。
#9
谢谢各位大侠, 尤其是yang79tao兄(DB_SEC_E_AUTH_FAILED ,IDispatch error #3149在帮助文档里根本查不到,以后也要注意).问题已经解决,是数据库的登入帐户和密码的问题,原先以为是系统的登入名和密码,原来在SQL Server里可以设置数据库的访问权限.
但小弟有又一难题,我如何取得其中的字段呢?
给段代码嘛哈,最好不全是MFC的,最好是SDK或console代码,可以用CString类(因为这样的代码重用性比较高嘛哈^_^)
但小弟有又一难题,我如何取得其中的字段呢?
给段代码嘛哈,最好不全是MFC的,最好是SDK或console代码,可以用CString类(因为这样的代码重用性比较高嘛哈^_^)
#10
zcy_beijing(行云流水)兄说的对,就是这个问题
#11
搞定!!,原来只是个数据库数据类型转换的问题,呵呵,如果谁有相关的资料,给我发消息,共享一下嘛哈
#1
mark
#2
HRESULT Open(_bstr_t ConnectonString, _bstr_t Uid, _bstr_t Password, long Options);
我看很多大侠的帖子,Uid = sa,我也查过数据库的属性,发现数据库的所有者为sa,这好像是默认的,如果是这样的话,那Password又指什么呢??
给点提示嘛哈
我看很多大侠的帖子,Uid = sa,我也查过数据库的属性,发现数据库的所有者为sa,这好像是默认的,如果是这样的话,那Password又指什么呢??
给点提示嘛哈
#3
DB_SEC_E_AUTH_FAILED ,IDispatch error #3149与密码无关,你调用了连接对象的CreateInstance方法了吗?
#4
如樓上所說 CreateInstance() 調用了沒?
#5
m_pConnection->Open("Provider=sqloledb;Data Source=myServerName;Initial Catalog=myDatabaseName;User Id=myUsername;Password=myPassword","","",adModeUnknown)
#6
hrc = m_pConnection->Open("driver={SQL server};server=192.178.1.14;database=nescafe_cap;uid=ks;pwd=k","ks","k",adModeUnknown);
#7
你单步调试一下,看看是哪一条语句出错了。。
#8
访问数据库的用户名和口令错误,SQL Server数据库安装后有一个默认用户sa,它的口令由安装时设定,也可能为空。你要用用户ks和口令k访问数据库,你要先用SQL Server的企业管理器进去后建立好相应的用户名和口令。
#9
谢谢各位大侠, 尤其是yang79tao兄(DB_SEC_E_AUTH_FAILED ,IDispatch error #3149在帮助文档里根本查不到,以后也要注意).问题已经解决,是数据库的登入帐户和密码的问题,原先以为是系统的登入名和密码,原来在SQL Server里可以设置数据库的访问权限.
但小弟有又一难题,我如何取得其中的字段呢?
给段代码嘛哈,最好不全是MFC的,最好是SDK或console代码,可以用CString类(因为这样的代码重用性比较高嘛哈^_^)
但小弟有又一难题,我如何取得其中的字段呢?
给段代码嘛哈,最好不全是MFC的,最好是SDK或console代码,可以用CString类(因为这样的代码重用性比较高嘛哈^_^)
#10
zcy_beijing(行云流水)兄说的对,就是这个问题
#11
搞定!!,原来只是个数据库数据类型转换的问题,呵呵,如果谁有相关的资料,给我发消息,共享一下嘛哈