CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  数据库

远程连接oracle问题,应该很简单,但很急!请大家多帮忙,谢谢先!解决者百分送上,顶者有分!

楼主yzx0023(无聊客)2004-12-01 22:55:13 在 VC/MFC / 数据库 提问

我想远程连接ORACLE数据库,本机已经安装了ORACLE客户端,如何设置连接串使我不用手动输入服务器地址?下面的代码能够连接,但是每次连接前总会弹出个对话框让我输入服务器.(比如服务器为CHEN_10.0.0.172)  
   
  CDatabase   database;  
  CString   sDsn;  
  sDsn   =   "ODBC;DRIVER={Microsoft   ODBC   for   Oracle};UID=CHEN;PWD=123456";  
  database.Open(NULL,   false,   false,   sDsn);  
   
  另外想问各位大虾,不装ORACLE是否也可以远程连接ORACLE数据库?谢谢先! 问题点数:200、回复次数:19Top

1 楼nastar(阿门)回复于 2004-12-01 22:58:29 得分 10

不装也可以连的  
  Top

2 楼fengqinggao(风清高)回复于 2004-12-02 02:01:58 得分 100

你没有输入服务器名称,它当然要找你要了,呵呵  
   
  在你的sDsn中,增加Database=sYourDBName,和其他部分一样,用“;”隔开,即:  
  sDsn   =   "ODBC;DRIVER={Microsoft   ODBC   for   Oracle};Database=sYourDBName;UID=CHEN;PWD=123456";  
   
  这样应该就可以了Top

3 楼fengqinggao(风清高)回复于 2004-12-02 02:04:49 得分 0

上面这种方法读的应该是本地已经设置好了的数据库,如果本地没有数据库,直接读服务器上的,则需要加上服务器地址,当然,这个我没有测试过,不过应该可以  
   
  另:按你的方法,它应该不止找你要服务器地址啊,还要找你要数据库名才对,不知道事实是否如此Top

4 楼yzx0023(无聊客)回复于 2004-12-02 12:33:46 得分 0

谢谢楼上的,我回去试试。Top

5 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2004-12-02 12:47:37 得分 10

设置好数据库服务器的地址Top

6 楼fengqinggao(风清高)回复于 2004-12-02 12:57:43 得分 0

呵呵,因为昨晚回帖时比较晚了,有些晕乎,刚才重新看了一下,应该还加上服务器的名称设置,即:  
   
  sDsn   =   "ODBC;DRIVER={Microsoft   ODBC   for   Oracle};Server=sYourServerName;Database=sYourDBName;UID=CHEN;PWD=123456";  
   
  这样服务器、数据库就全了,远程的也没有问题;^_^Top

7 楼chinaseven(天下第七)回复于 2004-12-02 13:02:01 得分 10

CDatabase   g_MJDatabase;  
  CString   strODBC;  
  g_MJDatabase.SetLoginTimeout(90);  
  strODBC.Format("DSN=%s;UID=%s;PWD=%s",   "DSN_NAME",   "UID",   "PWD");  
  try  
  {  
                    if(!g_MJDatabase.OpenEx(strODBC,   CDatabase::noOdbcDialog))  
  {  
  ::MessageBox(NULL,"连接数据库失败!","ERROR",MB_OK);  
                    }  
  }  
  catch(CDBException   *e)  
  {  
  TRACE(e->m_strError.GetBuffer(0));  
  ::MessageBox(NULL,"连接数据库失败!","ERROR",MB_OK);  
  }Top

8 楼wwwllg(野蛮人)回复于 2004-12-02 13:22:51 得分 10

//m_pConn->Open(L"Provider=OraOLEDB.Oracle.1;User   ID=pkuwh_za;Password=a;Data   Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.213)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME   =   ZAGL)));Persist   Security   Info=False",L"",L"",adOpenUnspecified);  
  Top

9 楼IloveAzhu(AJUN)回复于 2004-12-02 13:26:56 得分 5

顶者有分!Top

10 楼bohut(●伯虎● )回复于 2004-12-02 14:00:31 得分 10

ado连接oracle   9i  
          _ConnectionPtr   m_pConn;  
          CString   m_sConn="Provider=MSDAORA.1;Data   Source=sode_192.168.3.9";   //使用  
  ms连接库,sode为SID,192.168.3.9为机器ip  
          m_pConn.CreateInstance("ADODB.Connection");  
          try  
          {  
                  HRESULT   hr=m_pConn->Open((_bstr_t)m_sConn,"sodeUser","sodePw",adConnectUnspecified);          
                  if   (FAILED(hr))  
                  {  
                          AfxMessageBox("不能连接数据库   source!");  
                          return   FALSE;  
                  }  
          }  
          catch(_com_error   e)  
          {  
                  AfxMessageBox("不能打开数据库   error!");  
                  return   FALSE;  
  Top

11 楼taianmonkey()回复于 2004-12-02 14:05:35 得分 10

ServerString="Provider=OraOLEDB.Oracle;Data   Source=qq;user   id=qq;password=qq";  
   
  //连接Oracle服务器数据库//  
  try  
  {  
  HRESULT   hr   =   m_pConnectionOracle.CreateInstance("ADODB.Connection");  
  if(SUCCEEDED(hr))  
  {  
  m_pConnectionOracle->Open(_bstr_t(ServerString),"","",adModeUnknown);  
  }  
  }  
  catch(_com_error   e)  
  {  
  CString   errormessage;  
  errormessage.Format("连接数据库失败!\r\n:%s",e.ErrorMessage());  
  AfxMessageBox(errormessage);  
  return   0;  
  }Top

12 楼yzx0023(无聊客)回复于 2004-12-02 17:28:16 得分 0

我想用ODBC连,因为代码都写的差不多了,我想问下,不装ORACLE客户端也能连吗?以前的帖子好象说必须要装,请各位大虾多多指教。Top

13 楼yzx0023(无聊客)回复于 2004-12-02 21:00:04 得分 0

顶下下Top

14 楼yzx0023(无聊客)回复于 2004-12-03 13:12:26 得分 0

再顶Top

15 楼jijinxu()回复于 2004-12-03 13:20:27 得分 10

我也听说不装能连,但只是听说,我前段时间做一个项目,本来也想不装客户端就直接用代码连接服务器端的oracle数据库的,为此也找了一段时间的资料。。。不过最后我也没找到能解决问题的方法,最后我还是装了客户端,呵呵Top

16 楼hjunxu(hjun)回复于 2004-12-03 13:23:03 得分 5

你客户端的本地连接创建好了吧?  
  Top

17 楼yzx0023(无聊客)回复于 2004-12-04 17:53:26 得分 0

看来真的只有装客户端了?Top

18 楼gooyan(超级替补)回复于 2004-12-04 18:15:07 得分 10

_ConnectionPtr   m_pConn;  
          CString   m_sConn="Provider=MSDAORA.1;Data   Source=sode_192.168.3.9";   //使用  
  ms连接库,sode为SID,192.168.3.9为机器ip  
          m_pConn.CreateInstance("ADODB.Connection");  
          try  
          {  
                  HRESULT   hr=m_pConn->Open((_bstr_t)m_sConn,"sodeUser","sodePw",adConnectUnspecified);          
                  if   (FAILED(hr))  
                  {  
                          AfxMessageBox("不能连接数据库   source!");  
                          return   FALSE;  
                  }  
          }  
          catch(_com_error   e)  
          {  
                  AfxMessageBox("不能打开数据库   error!");  
                  return   FALSE;  
          }  
   
   
   
   
  ===>Oracle   Connect   String  
   
  微软提供的Oracle标准连接是:  
   
  strConnect   =   _T("Provider=MSDAORA;Data   Source=serverName;User   ID=userName;   Password=userPassword;");  
   
  Oracle公司提供的连接方式:  
   
  使用标准安全级别:  
   
  strConnect   =   _T("Provider=OraOLEDB.Oracle;Data   Source=MyOracleDB;User   Id=myUsername;Password=myPassword;");  
   
  使用信任连接  
   
  1.strConnect   =   _T("Provider=OraOLEDB.Oracle;Data   Source=MyOracleDB;User   Id=/;Password=;");   UID为'/'  
   
  2.strConnect   =   _T("Provider=OraOLEDB.Oracle;Data   Source=MyOracleDB;OSAuthent=1;");使用OSAuthent=1  
   
  对于连接字符串可以参考以下网页:   http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdreforacleprovspec.asp?frame=true  
   
  http://download-west.oracle.com/otndoc/oracle9i/901_doc/win.901/a90171/using.htm  
  Top

19 楼laiyiling(陌生人[MVP])回复于 2004-12-06 07:15:55 得分 10

以下的方法在客户端装了oracle客户端的情况下测试成功  
  _ConnectionPtr   pConnection;  
  pConnection.CreateInstance(ADODB.Connection);  
  pConnection->Open("Provider=MSDAORA;Data   Source=test;User   ID=zh;Password=zh","","",adModeUnknown);  
   
  http://www.codeproject.com/useritems/ConnectionStrings.aspTop

相关问题

  • 如何连接远程ORACLE
  • 网间Oracle的连接,远程连接Oracle服务器??
  • ★☆★学过ORACLE远程连接的请看★☆★
  • ORACLE远程数据库连接问题!!!
  • oracle如何连接远程服务器?
  • 连接远程Oracle的问题
  • .NET与Oracle的远程连接问题
  • ado远程连接oracle的问题!
  • 请问如何远程连接Oracle??
  • 用ado连接远程oracle问题?

关键词

  • 连接
  • 数据库
  • 服务器
  • 远程
  • oracle
  • source
  • hr
  • 客户
  • sdsn
  • pconn

得分解答快速导航

  • 帖主:yzx0023
  • nastar
  • fengqinggao
  • oyljerry
  • chinaseven
  • wwwllg
  • IloveAzhu
  • bohut
  • taianmonkey
  • jijinxu
  • hjunxu
  • gooyan
  • laiyiling

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo