关于ADO连接oracle数据库的问题

suxk 2003-07-24 11:16:34
我看了很多ADO连接oracle数据库的例子,但始终不明白,假如我连的数据库在服务器上服务器的名字是:ora1,ora1上有个数据库mydb;请问:
m_connectionptr->("Provider=OraOLEDB.Oracle.1;Password=EDS;User ID=EDS;Data Source=Gis;Persist Security Info=True","","",adModeUnknown);
Source=什么?是ora1还是mydb,这个应该怎么连?
...全文
94 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
醉马不肖 2003-07-29
  • 打赏
  • 举报
回复
oracle上只有用户概念,没有数据库概念,
这点上不想myserver
suxk 2003-07-29
  • 打赏
  • 举报
回复
我找到答案了
CoInitialize(NULL);
//创建connection对象
m_connect.CreateInstance("ADODB.Connection");

CString strConnection="Provider=MSDAORA;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST="+server+")(PORT="+port+"))(CONNECT_DATA=(SID="+dbname+")));User ID="+UID+";Password="+pass;
try
{
if(m_connect==NULL)
AfxMessageBox("cuosu");
HRESULT hr=m_connect->Open((_bstr_t)LPCSTR(strConnection),"","",adModeUnknown);
if(SUCCEEDED(hr))
{
AfxMessageBox("连接成功!");
return FALSE;
}
else
AfxMessageBox("连接失败");
return FALSE;
}
catch (_com_error e)
{
CString mm;
mm.Format("打开数据库出错!%s,%d,%d",e.ErrorMessage(),__FILE__,__LINE__);
AfxMessageBox(mm);
return FALSE;
}
//释放COM
CoUninitialize();
suxk 2003-07-28
  • 打赏
  • 举报
回复
不要管怎么挣来的,现在上面提的方法都不行,有没有人亲自作过,不安装客户端能连接服务器端的oracle数据库的
weixxxp 2003-07-26
  • 打赏
  • 举报
回复
I 服了 U,变量声明也要写上,你的分是怎么挣来的!
suxk 2003-07-24
  • 打赏
  • 举报
回复
有没有能用我提供的信息写出语句来得!我的程序运行不再服务器上
FBStudio 2003-07-24
  • 打赏
  • 举报
回复
OLE DB Provider for Oracle (from Microsoft)
 
oConn.Open "Provider=msdaora;" & _
          "Data Source=MyOracleDB;" & _
          "User Id=myUsername;" & _
          "Password=myPassword;"

For more information, see: Microsoft OLE DB Provider for Oracle


OLE DB Provider for Oracle (from Oracle)
 
For Standard Security:

oConn.Open "Provider=OraOLEDB.Oracle;" & _
          "Data Source=MyOracleDB;" & _
          "User Id=myUsername;" & _
          "Password=myPassword;"

For a Trusted Connection:

oConn.Open "Provider=OraOLEDB.Oracle;" & _
          "Data Source=MyOracleDB;" & _
          "User Id=/;" & _
          "Password=;"
' Or

oConn.Open "Provider=OraOLEDB.Oracle;" & _
          "Data Source=MyOracleDB;" & _
          "OSAuthent=1;"
 

Note: "Data Source=" must be set to the appropriate Net8 name which is known to the naming method in use. For example, for Local Naming, it is the alias in the tnsnames.ora file; for Oracle Names, it is the Net8 Service Name.

道法然 2003-07-24
  • 打赏
  • 举报
回复
Server=ora1
FBStudio 2003-07-24
  • 打赏
  • 举报
回复
Source=mydb
道法然 2003-07-24
  • 打赏
  • 举报
回复
Server=127.0.0.1;DATABASE=mydb
suxk 2003-07-24
  • 打赏
  • 举报
回复
能不能把变量声明写上
csuxiong 2003-07-24
  • 打赏
  • 举报
回复
可以这样:
m_pConnection->Open("Provider=Oracle Provider for OLE DB;
Server=ora1
Data Source=mydb",
"EDS",
"EDS",
adModeUnknown);////连接数据库
weixxxp 2003-07-24
  • 打赏
  • 举报
回复
Data Source是ORACLE服务名,你没配置过ORACLE服务名吗?要在运行程序的机器安装ORACLE客户端,配置ORACLE服务名!

4,011

社区成员

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

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