本人是一新手兼菜鸟,向高人请教下ADO的Oracle连接问题,谢了!
前期处理:
import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
_ConnectionPtr m_pConnection;
这里应该没有问题吧void COHDCXDlg::ConnectDB()
{
CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=OraOLEDB.Oracle.1;Password=manager;User ID=system;Data Source=oradb;Persist Security Info=True","","",adModeUnknown);
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("数据库连接失败!\r\n错误信息:%s", e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
执行后老是提示:数据库连接失败!
我的数据库就是通过sqlplus建的几个简单表,system,manager,oradb是sqlplus界面登陆时的输入项。
另外,能否告知Open()函数的参数具体指数据库中的什么?
前期处理:
import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
_ConnectionPtr m_pConnection;
这里应该没有问题吧void COHDCXDlg::ConnectDB()
{
CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=OraOLEDB.Oracle.1;Password=manager;User ID=system;Data Source=oradb;Persist Security Info=True","","",adModeUnknown);
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("数据库连接失败!\r\n错误信息:%s", e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
执行后老是提示:数据库连接失败!
我的数据库就是通过sqlplus建的几个简单表,system,manager,oradb是sqlplus界面登陆时的输入项。
另外,能否告知Open()函数的参数具体指数据库中的什么?
User ID:用户名
Data Source: 监听中的实例名连接时改这三个参数就可以了,其他的默认就好。
只要和sqlplus一样就没有问题,具体检查一下程序
你用sqlplus system/manager@oradb能连通吗?
这里的Data Source填的就是@后边的内容