m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=sendmessage.mdb;Jet OLEDB:DataBase Password=123;Mode=Share Deny Read|Share Deny Write","","",0);
我用上面的代码执行后产生如下错误:
IDispatch error #3149
数据库不加密码我已经执行通过了,就是一加密就出错,这是什么错误?应该如何解决?请高手指教!谢谢!
我用上面的代码执行后产生如下错误:
IDispatch error #3149
数据库不加密码我已经执行通过了,就是一加密就出错,这是什么错误?应该如何解决?请高手指教!谢谢!
try
{
hr=pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
CString sql;
sql.Format("driver={SQL Server};Server=%s;DATABASE=%s;UID=%s;PWD=%s",serverip,dsn,UserName,dbpass);
hr=pConnection->Open((LPCTSTR)sql,"","",adModeUnknown);
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s又出毛病了:(",e.ErrorMessage());
AfxMessageBox(errormessage);
}
我一直用的,你试试。
--------------------------------------
我在上面提到的连接字符串里设置密码,是针对于Access自己带的加密程序而对数据库加密的,如果你用自己的程序(算法)给数据库加密,那在连接字符串里设置密码就毫无意义了。
Password=119;";/*User ID=Admin;*/
m_pConnection->Open(_bstr_t(sConnection),"","",adModeUnknown);
还是打不开。谁有好用的例子可否给一个???
HRESULT hr;
CString sql_;
sql_.Format(" DSN=Manager; UID=""; Password=""; PWD=yaodebo");
//如果数据库设置有密码,那么在连接段后加一句PWD=
_bstr_t source=sql_;
try{
hr=m_connection.CreateInstance(_uuidof(Connection));
if(SUCCEEDED(hr))
hr = m_connection->Open(source,"","",adConnectUnspecified);///连接数据库
// adConnectUnspecified=-1
if(SUCCEEDED(hr))
hr=m_recordset.CreateInstance(_uuidof(Recordset)); if(SUCCEEDED(hr))
m_fConnected=true;
else
m_fConnected=false;
}
catch(_com_error &e){
MessageBox(e.ErrorMessage());
m_fConnected=false;
}
2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡
3.在"身份验证"下,选择"SQL Server和 Windows ".
4.重新启动SQL Server服务.*************************
在'企业管理器'->'安全性'->'右边的名称sa'进入把密码改了即可.
http://dev.csdn.net/develop/article/26/26842.shtm