是不是必须安装Oracle客户端?如果需要安装,需要配置吗?还是只安装好就行?
如果配置,难度高吗?

解决方案 »

  1.   

    把Oracle客户端必须的DLL和其它文件提取出来(有几十MB),放到你的安装工程中,安装软件时一起安装。需要注册DLL、写注册表、设置环境变量。具体可以google“抽取Oracle客户端”。
      

  2.   

    我是楼主
    需要的连接参数
    联网数据库IP:11.62.5.12;
    数据库实例名称:ORE;
    数据查询用户/口令:123 / 123;
    通过该用户查询数据表:L_T_L;
    以下是vc代码:
    try  
    {  
    HRESULT hr = m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象  
    if(SUCCEEDED(hr))  
    {  
    m_pConnection->Open("Provider=OraOLEDB.Oracle.1;User ID=123 ;Password=123 ;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=11.62.5.12)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME = ORE)));Persist Security Info=False","","",adOpenUnspecified);  
    }  
    }  
    catch(_com_error e)///捕捉异常  
    {  
    CString errormessage;  
    errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());  
    AfxMessageBox(errormessage);///显示错误信息  
    }  
    请问以上写法对吗
      

  3.   

    首先ORACLE客户端是一定要安装的。
    给你一个下载地址:http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip安装的时候选择最大的那个方式,就是带管理工具的。
    安装好以后你在net manager里面就可以配置一下了。不过你的代码的这种写法,我不知道还要不要配置。因为看上去IP和服务名都包含了。
      

  4.   

    应该可以,不过我用的Data Source都是本地命名(其实参数和你的差不多),另外Persist Security Info=False我没加过。tnsnames.ora中本地命名的定义:
    ORA92VPC =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.192)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora92vpc)
        )
      )有时CONNECT_DATA参数不一样,没注意过有没有区别。lyGISDB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.2.99)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = gisdb)
          (SERVER = DEDICATED)
        )
      )
      

  5.   

    其实微软在windows中也提供了一个Oracle的Provider“MSDAORA.1”,不过不好使,经常突然就不能用了。
      

  6.   

    楼主,首先要引入ADO类型库
    eg: #import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoEOF") 
    路径要根据实际情况来写strConnect = _T("Provider=MSDAORA;Data Source=serverName;User ID=userName; Password=userPassword;");   serverName:是你自己配置的服务名
      

  7.   

    首先就是导入ADO dll库,然后就是连接字符串了,我整理远程连接数据库服务器:配置本地客户端和未配置两种情况。
     
       1. // 服务名:通常是其全局数据库名(Oracle Net Configuration   
       2. // Assistant: Net 这样解释),我理解为就是要连接的远程数据库名。  
       3. string strConnect;  
       4. // 未配置本地客户端  
       5. strConnect = "Provider=OraOLEDB.Oracle.1; Password = ***;Persist Security Info=True;User ID= ***;Data Source=\" (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器端IP地址)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = 服务名)))\"";  
       6. // 配置本地客户端 Net 服务名  
       7. strConnect = "Provider=MSDAORA.1;Password=***;User ID=***;Data Source=服务名;Persist Security Info=True";  http://blog.csdn.net/zjsiva/archive/2010/08/05/5789909.aspx
      

  8.   

    我是楼主
    在安装配置好Oracle客户端后,退出客户端配置程序(此时系统没有客户端的相关程序运行)。在运行vc程序远程连接数据库时(此时系统没有客户端的相关程序运行),需要打开客户端的什么程序吗?还是只运行vc程序就能连接远程数据库了?
      

  9.   

    我是楼主
    求助!
    http://topic.csdn.net/u/20100813/09/b8284e3e-4109-471c-a19e-6f63e455dc55.html
      

  10.   

    我是楼主
    求助!
    http://topic.csdn.net/u/20100813/09/b8284e3e-4109-471c-a19e-6f63e455dc55.html
      

  11.   

    读取ORACLE BLOB采用bind方式不行啊,总报不可访问Access Invionlate