免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 13205 | 回复: 28
打印 上一主题 下一主题

[C++] C++连接oracle必须安装客户端吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-13 21:44 |只看该作者 |倒序浏览
有没有不安装的方法啊?

论坛徽章:
0
2 [报告]
发表于 2008-05-13 22:12 |只看该作者

回复 #1 ffmaomao 的帖子

不需要.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2008-05-13 22:23 |只看该作者
必须得有 runtime library

论坛徽章:
0
4 [报告]
发表于 2008-05-13 22:52 |只看该作者

论坛徽章:
0
5 [报告]
发表于 2008-05-14 09:50 |只看该作者
谢谢各位大哥啊!~~~~`

论坛徽章:
0
6 [报告]
发表于 2008-05-14 09:52 |只看该作者
客户端这个东西很麻烦啊。。。。
准备了一些so文件,可是也不知道到底要哪些?
一头雾水中。。。。。

论坛徽章:
0
7 [报告]
发表于 2008-05-14 12:20 |只看该作者

要分几种情况

代码连oracle数据库的话,一般为 proc*c 和 occi。
proc*c 需要预编译,occi不需要,但是需要.so连接。
但是运行的时候都需要 .so 动态连接。

论坛徽章:
0
8 [报告]
发表于 2008-05-14 15:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2008-05-14 16:02 |只看该作者
原帖由 zszyj 于 2008-5-13 22:12 发表
不需要.


GOD......不需要?!!!!

论坛徽章:
0
10 [报告]
发表于 2008-05-15 10:48 |只看该作者
原帖由 initadmin 于 2008-5-14 12:20 发表
代码连oracle数据库的话,一般为 proc*c 和 occi。
proc*c 需要预编译,occi不需要,但是需要.so连接。
但是运行的时候都需要 .so 动态连接。

我用了occi也用了.so动态连接。。。可是还是连不上去。。。
下面是我的代码。。。可以编译了。。。但是会出错。。而且代码里面不知道在什么地方配置url.
是不是在Linux下面要配置什么东西的啊?请教各位大哥。。。。
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>
#include "occi.h"
#include "occiCommon.h"
#include "occiControl.h"
#include "occiObjects.h"
#include "occiData.h"
using namespace std;
using namespace oracle:cci;
int main(int argc, char *argv[])
{
  cout << "********1*********" << endl;
  Environment * env;//Environment:EFAULT
  Connection *conn;
  cout << "********2*********" << endl;
        try{
        env=Environment::createEnvironment(Environment:EFAULT);    在这一步出错了。。。
错误是:
Error while trying to retrieve text for error ORA-32101
Segmentation fault
一下就都不执行了。。。
  cout << "********3*********" << endl;
                        // user,password,sid=db
        conn= env->createConnection("sys","oracle","product";
                         if (conn)
                              cout << "SUCCESS - createConnection" << endl;
                            else
                              cout << "FAILURE - createConnection" << endl;

                  Statement * stmt = conn->createStatement("select first_name from s_emp";
                 ResultSet * rset = stmt->executeQuery();
                 while (rset->next())
                {
                  //cout<<"the empno is:"<<rset->getInt(2)<<endl;
                  cout<<"first_name is:"<<rset->getString(1)<<endl;
                 }

                 stmt->closeResultSet (rset);
                 conn->terminateStatement (stmt);
                 env->terminateConnection (conn);
        }
        catch(SQLException ex)
        {
                cout<<ex.getMessage();

        }
         Environment::terminateEnvironment(env);
  return EXIT_SUCCESS;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP