本地机器上没装ORACLE及其客户端,装了SQL SERVER。
我放在本地机器里的程序,能访问并操作远程的ORACLE数据库。希望各位前辈多多指点。如何连接及操作?。。必须要装ORACLE的客户端吗?
最好是能给个范例。。谢谢大家了再次感谢。

解决方案 »

  1.   

    试试这个连接串 能不能不安装oracle client
    "Driver={Microsoft ODBC for Oracle};" & _
              "Server=OracleServer.world;" & _
              "Uid=myUsername;" & _
              "Pwd=myPassword;"
      

  2.   

    hr = m_pConnection->Open("Provider=OraOLEDB.Oracle.1;Password=XXX;Persist Security Info=True;User ID=XXX;Data Source=XXX","","",adModeUnknown);///连接数据库楼上的是Oracle ODBC不太好吧。
      

  3.   

    为什么不太好?。。是需要添加odbc吗?楼上的大哥,你的是ADO吗?需要装客户端吗?谢谢大家了
      

  4.   

    用VC是肯定要装oracle客户端的,不论是用ODBC或ADO,本人建议用ADO
      

  5.   

    一般还是装客户端的比较好,用ADO访问,比较容易不会错
      

  6.   

    ADO,需不需要装客户端,我还真不知道。
    反正我是装了。恩……应该是需要装的。ADO,价格便宜量又足,我们一直都用它。
      

  7.   

    好像自己写provider就不用装客户端……
      

  8.   

    装一下客户端把。就是连接字符串的差别,其他的访问数据库的语句基本和access相同。
    www.vckbase.com下面有详细的使用ado访问数据库的代码
      

  9.   

    给你个测试通过的例子:
     _ConnectionPtr m_pConnection;
     HRESULT hr;
     hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
     if(SUCCEEDED(hr))
         hr = m_pConnection->Open("Provider=OraOLEDB.Oracle.1;Password=manager;Persist Security Info=True;User ID=system;Data Source=ora8","","",adModeUnknown);///连接数据库
            _variant_t RecordsAffected;
          m_pConnection->Execute("CREATE TABLE users(ID INTEGER,username varchar(10),old INTEGER,birthday DATETIME)",&RecordsAffected,adCmdText);
           m_pConnection->Execute("INSERT INTO users(ID,username,old,birthday) VALUES (1, 'Washington',25,'01-JAN-2001')",&RecordsAffected,adCmdText);
           m_pConnection->Execute("UPDATE users SET old = old+1",&RecordsAffected,adCmdText);
           _RecordsetPtr m_pRecordset =  m_pConnection->Execute("SELECT COUNT(*) FROM users",&RecordsAffected,adCmdText);
          _variant_t vIndex = (long)0;
      
      _variant_t vCount = m_pRecordset->GetCollect(vIndex);///取得第一个字段的值放入vCount变量
      m_pRecordset->Close();///关闭记录集
     
      CString message;
      
      message.Format("共有%d条记录",vCount.lVal);
      AfxMessageBox(message);///显示当前记录条数
    --------------------------------------------------------
    条件(ora8i),客户端已安装,并用Net8 Assistant配好客户端别名ora8
      

  10.   

    我也有这个问题。
    不装客户端,远程连接oracle数据库。楼上提供的方法要么就是要客户端,要么只是连接本地的吧?因为远程的话起码需要IP啊??
      

  11.   

    我上面的肯定是要客户端的
    不用客户端的,我也用过,是delphi/c++builder的ODAC控件,VC下没试过
      

  12.   

    要安装Oracle客户端的。不然是找不到监听的。
    要不然就不要什么数据库访问中间件了。
    我们项目里现在使用了自己开发的一个数据库访问中间件就不要
    安装一些这样的东西。
      

  13.   

    可以不装客户端,但你得把ORACLE数据库的客户端打包到安装工程里面才行。
      

  14.   

    不装oracle客户端可以访问oracle????不会吧?楼主这个是一定要装的~~
      

  15.   

    daienming(键盘上的蛤蟆) 真的可以不装,你必须把ORACLE客户端的动态连接库打包,还有相应的注册表的项目一定要加上。
      

  16.   

    to  enterprise54(忘掉她好难):
    能不能给我个例子啊?傻瓜点的,发我邮箱[email protected]@hotmail.com。好使给你100分
      

  17.   

    使用标准安全级别:  
    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