请教:如何用OLE DB连接数据库?

adminwang 2003-11-06 03:28:33
我想用OLE DB数据库(SQL SERVER、ORACLE)但HRESULT Open( const CLSID& clsid, LPCTSTR pName = NULL, LPCTSTR pUserName = NULL, LPCTSTR pPassword = NULL, long nInitMode = 0 );中的clsid不知如何得到,请各位指点,谢谢!
我是初学者,有代码最好。
...全文
114 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MicoInNet 2003-11-24
  • 打赏
  • 举报
回复
mark
zhucde 2003-11-11
  • 打赏
  • 举报
回复
给你几个例子:
代码3:使用CDaoDatabase(基于DSN)

CDaoDatabase MyDb = new CDaoDatabase();

MyDb.Open(NULL,FALSE,FALSE,"ODBC;DSN=samp;UID=admin;PWD=admin");


代码4:使用CDaoDatabase(基于非DSN)

CDaoDatabase MyDb = new CDaoDatabase();

MyDb.Open(NULL,FALSE,FALSE,"ODBC;DRIVER={SQL Server};SERVER=server;

DATABASE=samp;UID=admin;PWD=admin");

 

代码5:使用_ConnectionPtr(基于DSN)

_ConnectionPtr MyDb;

MyDb.CreateInstance(__uuidof(Connection));

MyDb->Open("DSN=samp;UID=admin;PWD=admin","","",-1);

 

 

代码6:使用_ConnectionPtr (基于非DSN)

_ConnectionPtr MyDb;

MyDb.CreateInstance(__uuidof(Connection));

MyDb->Open("Provider=SQLOLEDB;SERVER=server;DATABASE=samp;UID=admin;

PWD=admin","","",-1);

同时,还要在之前初始化OLE:
BOOL CADOApp::InitInstance()
{
if(!AfxOleInit())
{
AfxMessageBox(“OLE初始化出错!”);
return FALSE;
}

……

return TRUE;
}




adminwang 2003-11-10
  • 打赏
  • 举报
回复
以下是我的代码,OPEN后hr的值是一负数,请问是哪里错了?谢谢!
HRESULT hr;
CLSID clsid;
hr=CoInitialize(NULL);
if(FAILED(hr))
MessageBox("f1");
if(CLSIDFromProgID(L"SQLOLEDB.1",&clsid)==S_OK)
{
hr=m_source.Open(clsid,"DatabaseName","sa","password",0);
if(FAILED(hr))
MessageBox("f2");
}
else
{
MessageBox("dfd");
}
mfc168 2003-11-07
  • 打赏
  • 举报
回复

使用 OLEDB 建立统一的数据访问平台

http://www.vckbase.com/code/listcode.asp?mclsid=11&sclsid=1103
zhangw1978 2003-11-06
  • 打赏
  • 举报
回复
关注!

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧