社区
Sybase
帖子详情
简单问题,请指教!!!!
nicholaz
2002-04-12 10:29:59
在linux下用c写一个程序,可以将文本文件导入oracle数据库,怎样来截取数据呢?详细点好吗?
...全文
36
12
打赏
收藏
简单问题,请指教!!!!
在linux下用c写一个程序,可以将文本文件导入oracle数据库,怎样来截取数据呢?详细点好吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shipatrioc
2002-04-16
打赏
举报
回复
如果文本文件中一行算一条记录,每行中有特殊字符来分割字段,你可以这样
(假设一条记录有两个字段,两字段间用"#"分割)
exec sql begin declare section;
char *ch1;
char *ch2;
exec sql end declare section;
char buffer[1024];
char* next;
FILE *fp;
fp = fopen("a.txt","r");
while(!feof(fp))
{
fgets(buffer,1024,fp);
buffer[strlen(buffer)]=0;
ch1 = strtok(buffer,"#");
ch2 = strtok(NULL,"#");
exec sql insert into ta_1(field1,field2) values(:ch1,:ch2);
}
shipatrioc
2002-04-16
打赏
举报
回复
如果文本文件中一行算一条记录,每行中有特殊字符来分割字段,你可以这样
(假设一条记录有两个字段,两字段间用"#"分割)
exec sql begin declare section;
char *ch1;
char *ch2;
exec sql end declare section;
char buffer[1024];
char* next;
FILE *fp;
fp = fopen("a.txt","r");
while(!feof(fp))
{
fgets(buffer,1024,fp);
buffer[strlen(buffer)]=0;
ch1 = strtok(buffer,"#");
ch2 = strtok(NULL,"#");
exec sql insert into ta_1(field1,field2) values(:ch1,:ch2);
}
flowerofwind
2002-04-16
打赏
举报
回复
nicholaz
你的问题可以通过调用oci实现,也就是用oci编写一个相当于sqlserver bcp的程序,至于怎么截取记录我觉得这个很简单,属于c/c++中简单的文本文件处理的问题,可以考虑一下函数,fgets(读取文件的一行),strtok(通过特定的分割符取出没个字段),然后通过oci绑定,执行就可以了
shipatrioc
2002-04-16
打赏
举报
回复
读取文件不就可以了!
exec sql begin declare section;
char ch1[10];
char ch2[10];
FILE *fp;
fp = fopen("a.txt","r");
while(!feof(fp))
{
fread((void *)ch1,10,1,fp);
fread((void *)ch2,10,1,fp);
exec sql insert into ta_1(field1,field2) values(:ch1,:ch2);
}
关键是看文件的格式
nicholaz
2002-04-15
打赏
举报
回复
TO shipatrioc(风吹雨打哗啦啦)
用什么方法截取数据存入宿主变量?
pcmax
2002-04-12
打赏
举报
回复
关注
nicholaz
2002-04-12
打赏
举报
回复
是可以把它写成procedure来执行,但是这样只能对服务器上的文本文件进行导入,我想知道如果是客户端的文本文件,怎么样导入呢?
shipatrioc
2002-04-12
打赏
举报
回复
我一般是把文本文件写成sql文件,在到sqlplus下执行.
还有更自动化的...
关注
ykliu1
2002-04-12
打赏
举报
回复
用SQL*LOADER吧,它是ORACLE专门用来解决此问题的
shipatrioc
2002-04-12
打赏
举报
回复
当然可以!
把文本文件的数据读到宿主变量里不久行了
nicholaz
2002-04-12
打赏
举报
回复
我的意思就是在文本文件中一行算一条记录,每行中有特殊字符来分割字段,
要怎样才能将一段一段数据取出存入变量中,可以用破pro*c实现吗?
我写了个procedure来执行,但是这样只能对服务器上的文本文件进行导入,我要是想对客户端导入该怎样做?
KingSunSha
2002-04-12
打赏
举报
回复
其实sqlldr做的就是你想要的功能,只是界面难看一点
我不明白你说的截取数据是什么意思,能解释一下吗?
简易魔方生成器 不足
请
指教
请
关注新版本
生成简易的魔方,能生成3——501阶的简易魔方,并保存起来,速度还可以,自己写的!不足
请
指教
!
请
关注新版本
请
关注新版本
请
关注新版本
请
关注新版本
简单
的验证码实例(全部源代码)讲解很清楚
本人也在学ASP.NET做的不好
请
指教
!本验证码和本论坛(bbs.51aspx.com)的注册页面上的验证码很像!压缩包里是全部源代码!还有本人在代码里做了详细的注释!和我一样的新手
请
下,一起学习!高手
请
下,给我点意见。让...
WinAPI函数查询软件升级版+(附源码)
这个查询软件是小弟初学delphi时的拙作!数据库还是copy了一位不知名网友的数据,在此特感谢!!!这是发布的第三个版本,解决了以前版本的不完善之处!!!主要是数据库动态联接,解决了以前版本的固定...欢迎多
指教
!
绿色健康购物网SSH webdgs
java多线程绿色健康购物网SSH 个人水平有限,如有
问题
与建议,
请
指教
!(1)个人独立完成,包括mysql数据库设计,后台程序编写,前台美工设计;(2)运用struts1.2+hibernate+spring 框架,数据库连接池,事务管理;(3)...
DIY0511简易学生管理系统
自制的学生管理系统!第一次编写程序!
请
多
指教
!
Sybase
2,598
社区成员
25,609
社区内容
发帖
与我相关
我的任务
Sybase
Sybase相关技术讨论区
复制链接
扫一扫
分享
社区描述
Sybase相关技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章