VC6程序(没有用数据库)在A机子运行, 
C#程序(用了Oracle数据库)在B机子运行(Oracle数据库也在B机子上) 
现在VC程序需要访问Oracle数据库中的数据, 
VC6程序和Oracle不在同一个机子上,这样的话 
访问Oracle数据库要不要建数据源,要的话是在哪台机子上建 
(因本人没接触过数据库,也许这个问题简单了点,但希望多多指导) 

解决方案 »

  1.   

    可以两个机器通过socket来通信,vc6程序找C#要数据,C#读取数据库
      

  2.   

    我现在其实就是不管C#程序了,就是要怎么连接Oracle数据库并取得数据
    要不要建数据源,需要的话,数据源要怎么设置才能连接Oracle的机子,
    还有那个ConnectionPtr 的Open函数的第一个参数该如何填写。
    备注:我用的是ADO方式
      

  3.   

    ado连接oracle和连接mssql基本一样,但连接oracle需要配置oracle客户端
      

  4.   

    先说下我的方法:在Oracle服务器(IP:192.168.100.25)配置的数据源,
    我的机子IP:192.168.100.4,有装oracle客户端(服务器没有装oracle客户端)
    连接语句如下:
    connStr="Provider=OraOLEDB.Oracle;User ID=fn;Password=fn;Data Source=192.168.100.25;";
    m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(""),(_bstr_t)_T(""),adConnectUnspecified);
    这样Open函数就有异常,请问要不要配置数据源。要的话,该怎么实现,不要的话又该怎么实现,谢了
      

  5.   

    你的ORACLE客户端配置监听了没有?Data Source=192.168.100.25,这里应该等于ORACLE数据库的名字,而不是IP
      

  6.   

    你创建一个 xxxx.udl 文件,然后双击该文件,进行双关设置,链接上 oracle后,保存。最后用记事本打开该文件,里面就是链接字符串
      

  7.   

    "Provider=OraOLEDB.Oracle;Password=pwd;Persist   Security   Info=True;User   ID=UserName;Data   Source=db"   
      必须安装Oracle客户端   
      

  8.   

    connStr="Provider=OraOLEDB.Oracle;User ID=fn;Password=fn;Data Source=DB;";
    这个Data Source应该是数据库服务名,而不是IP,那段链接是从网上下的,所以以为是服务器的IP
    好像装了Oracle客户端不用设置数据源,就可以用了,不过看有的资料说也可以设置数据源,不知道有什么区别?
    还有另外一个问题,就是.6楼 的udl具体是如何实现的,能稍微详细点吗?
      

  9.   

    在你VC程序所在的机子上,是必须要装Oracle客户端的,Oracle客户端就是Oracle提供的一个软件,有了它,你的程序才能找到相应的驱动程序,连接远程的数据库
      

  10.   

    udl是一个文件扩展名,用法是这样的:
    新建一个文本文档,把txt扩展名改为udl扩展名,双击这个udl文件,就出现一个连接数据库的对话框。按照要求连接并测试连接通过,关闭对话框。用记事本打开这个udl文件,里面就是我们要的连接字符串。
      

  11.   

    在A机器上装个oracle的客户端就可以了,再使用ADO或者其他方法连接
      

  12.   

    没区别!
    首先你要让你的ORACLE服务器支持远程访问!
    再在VC程序所在机器安装ORACLE客户端,这样就可以了
      

  13.   

    就是在 A机子上直接装一个oracle客户端然后配置连接,配置成功后。在程序中就可以在通过udl或者是连接串连接数据库。
    "Provider=OraOLEDB.Oracle;Password=pwd;Persist  Security  Info=True;User  ID=UserName;Data  Source=db"