各种方法都可以,不过麻烦大家简单讲解一下吧,以前都是连ACCESS和MYSQL,初次做ORACLE的连接,好像网上的文档也不多。需要从局域网内服务器的ORACLE的表及视图中使用SQL语句读出数据,转存一下。不知怎么注册数据库和连接数据源然后读出。DDDDDDDDDDDDDDDXXXXXXXXXXXXXX救急!!!

解决方案 »

  1.   

    ODBC连ORACLE:
    str.Format("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;" )
      

  2.   

    ADO连接:
    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=5949
      

  3.   

    能不能具体讲一下连接的步骤,还有ado连的话使用Recordset是不是和access中一样?
      

  4.   

    你可以先在控制面板注册数据源,然后就用
    "Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;" 连接数据库就是了。
      

  5.   

    数据库的不同差别不是很大。你到CSDN的文档中心找,有介绍的很详细的。
      

  6.   

    用Oracle自己带的访问引擎吧,简单易用。
      

  7.   

    Oracle 
    ·  ODBC 
    o  新版本:
    "Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;" 
    o  旧版本:
    "Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;" 
    ·  OLE DB, OleDbConnection (.NET) 
    o 标准连接(Standard Security):
    "Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;" 
    这是Microsoft的格式, 下面是Oracle的格式(提供者不同)
    "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;" 
    注意:"Data Source=" 必须根据相应的命名方法设置为Net8名称。例如对于局部命名,它是tnsnames.ora中的别名,对于Oracle命名,它是Net8网络服务名
    o  信任连接(Trusted Connection):
    "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;" 
    或者设置user ID为 "/"
    "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=/;Password=;"
    ·  OracleConnection (.NET) 
    o  标准连接:
    "Data Source=Oracle8i;Integrated Security=yes"; 
    这只对Oracle 8i release 3或更高版本有效
    o  OracleConnection声明:
    C#:
    using System.Data.OracleClient;
    OracleConnection OracleConn = new OracleConnection();
    OracleConn.ConnectionString = "my connectionstring";
    OracleConn.Open(); VB.NET:
    Imports System.Data.OracleClient
    Dim OracleConn As OracleConnection = New OracleConnection()
    OracleConn.ConnectionString = "my connectionstring"
    OracleConn.Open() 
    ·  Data Shape
    o  MS Data Shape:
    "Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;user id=username;password=mypw" 
      

  8.   

    可以使用OCI(Oracle Common Interface)进行连接。网上有用Vc6+OCI连数据库的源码,找一下吧!
      

  9.   

    局域网上服务器的ip在那里添加呢?
    我现在是在mpconnectionptr->Open里使用串“Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd”,是不是在这里的server使用ip+数据源来定位?还有就是如果这样连接之后是否还需要注册数据源?我没有在控制面板里注册,我是直接写注册表注册数据源的,不知是不是在这里除了问题。急阿!!
      

  10.   

    用 ADO比较好
    _ConnectionPtr,  _RecordsetPtr连接字串为provider=msdaora; data source="数据库"; user id="用户名"; password="密码";
      

  11.   

    局域网上的Oracle的ip不是在连接串直接用的oracle我知道的有两种方法
    一种是直接在ODBC数据源中,添加Oracle,连接字符串和一般odbc的串一样一种是在oracle的配置文件tnsname.ora中添加,这样就和在本地的oracle一样用
    连接字符串,通过*.udl文件生成,复制到程序中使用两种应该都需要装oracle的客户端不知道有没有第三种方法
      

  12.   

    你说的在tnsname.ora中添加应该是在本地客户端新建数据源吧,那么我应该怎样连接到这个本地的数据源?是否还需要写注册表注册数据源或在ODBC中注册数据源?还有如果我用ado那么连接字符串应该是什么?
      

  13.   

    新建xx.txt文件,改称xx.udl双击,打开oledb连接对话框驱动选择,Ole Provider for ole db
    下一步输入数据源
    MyLoopback.world//这个名称在tnsname.ora里面有定义,注意服务中要打开oraxxxlistener
    用户名
    密码
    system/manager
    勾选保存密码
    测试连接,如果连接成功,连接串会自动保存到udl文件中
    不需要再在ODBC中注册了
      

  14.   

    我已经联上oracle数据库了,主要是在两个地方,
    一是先写注册表,
    BOOL CYieldData::RegDatabase(CString strSourceName, CString strSourceDb, CString strDescription)
    {
    HKEY hKey;
    DWORD lDisp; CString strSubKey = "SOFTWARE\\ODBC\\ODBC.INI\\"+strSourceName;
    RegCreateKeyEx(HKEY_CURRENT_USER,
    strSubKey,
    0,
    NULL,
    REG_OPTION_NON_VOLATILE,
    KEY_ALL_ACCESS,
    NULL,
    &hKey,
    &lDisp); char win[MAX_PATH];
    GetWindowsDirectory(win, MAX_PATH);
    CString str;
    str.Format("%s%s",
    win,
    "\\System32\\odbcjt32.dll");
    CString value1(str);
    RegSetValueEx(hKey,
    "Driver",
    0,
    REG_SZ,
    (const unsigned char*)((LPCTSTR)value1),
    strlen((LPCTSTR)value1)+1);
    。此处省略x行接下来第二就是建立ado连接了,
    try
    {
    m_pCon.CreateInstance("ADODB.Connection"); 
    m_pCon->Open((_bstr_t)CConfig::strconfig,"","",adModeUnknown);///连接数据库
    hr = m_pRs.CreateInstance("ADODB.Recordset");
    }
    catch(_com_error e)
    {
    CString errormessage;
    errormessage.Format("连接数据库失败1111\r\n错误信息:%s",e.ErrorMessage());
    AfxMessageBox(errormessage);

    }
    在CConfig::strconfig串里我用的是Provider=OraOLEDB.Oracle;Data  Source=MyOracleDB;User  Id=myUsername;Password=myPassword我没有在ODBC里注册数据源,而是写的注册表,但我觉得似乎这一步也不是必要的,因为在mp_Conn->Open的连接串里似乎已将写明了Driver,总的来说我还有两点不清楚,1.ado连接时mp_Conn的连接串的作用是否包括了注册数据源,也就是说不需要写注册表了?2. hahu(地痞 -- 勿近) 你所写的配置udl文件我试了一下连接成功了,但具体应该怎么使用?你所说的复制到程序中使用是什么意思?
      

  15.   

    我已经知道怎么用UDL了,确实不错挺好用的。