社区
非技术区
帖子详情
求救!关于TXT文件导入PLSQL数据库还有数据分割的问题
alix_12
2011-12-14 05:45:53
一、要导入的txt文件格式:
1.您的年龄:
A、25岁 B、26-40岁 C、41-55岁 D、56及以上
2.您的职业:
A、专业技术人员 B、服务业人员 C、军人 D、企业工薪
二、表名table的表结构ID,ANSWER,CODE
三、插入数据库要实现的效果是
问题是:
1.如何实现txt文件导入,java代码怎么实现?
2.如何一行行的读取,用split( " ")或者split( ". ")怎么方便些?
尽量说详细些,最好有类似的代码。
...全文
1155
7
打赏
收藏
求救!关于TXT文件导入PLSQL数据库还有数据分割的问题
一、要导入的txt文件格式: 1.您的年龄: A、25岁 B、26-40岁 C、41-55岁 D、56及以上 2.您的职业: A、专业技术人员 B、服务业人员 C、军人 D、企业工薪 二、表名table的表结构ID,ANSWER,CODE 三、插入数据库要实现的效果是 问题是: 1.如何实现txt文件导入,java代码怎么实现? 2.如何一行行的读取,用split( " ")或者split( ". ")怎么方便些? 尽量说详细些,最好有类似的代码。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alix_12
2011-12-15
打赏
举报
回复
[Quote=引用 6 楼 alix_12 的回复:]
public class FinancRiskQuesAction extends LianaAction{
//public static final String filepath = "E:/temp";
private String ID = "";
private String QUES = "";
private String CODE = "";
privat……
[/Quote]
哪位大神能够帮我整理下思路,指出错误的地方?
alix_12
2011-12-15
打赏
举报
回复
public class FinancRiskQuesAction extends LianaAction{
//public static final String filepath = "E:/temp";
private String ID = "";
private String QUES = "";
private String CODE = "";
private String receiverList = "";
public String execute(Context context) throws TranFailException {
Connection connection = null;
try {
connection = LianaDBAccess.getConnection();
connection.setAutoCommit(false);
sendMessage(connection, context, ID, QUES, CODE,receiverList);
connection.commit();
} catch (SQLException ex) {
Trace.logError(Trace.COMPONENT_JDBC, "JDBC异常", ex);
} catch (Exception ex) {
try {
if (connection != null)
connection.rollback();
} catch (SQLException e) {
Trace.logError(Trace.COMPONENT_JDBC, "JDBC异常", e);
}
throw new TranFailException(ex);
} finally {
LianaDBAccess.releaseConnection(connection);
}
return DEFAULT_RETURN_VALUE;
}
private void sendMessage(Connection connection, Context context, String ID, String QUES, String CODE, String receiverList)
throws Exception {
String sql = "INSERT INTO PB_RISK_QUEANS (PSQ_ID, PSQ_QUES, PSQ_CODE) "
+ "VALUES (?, ?, ?)";
PreparedStatement statement = connection.prepareStatement(sql);
for (int i = 0;i < receiverList.size();i ++) {
statement.setString(1, ID);
statement.setString(2, QUES);
statement.setString(3, CODE);
statement.executeUpdate();
statement.clearParameters();
}
statement.close();
}
public static void main(String[] args) throws Exception {
try {
java.sql.PreparedStatement pstmt = conn.prepareStatement (sql);
java.io.BufferedReader reader = null;
try {
String financId = (String)context.getDataValue("financId");
String actionFlag = (String)context.getDataValue("actionFlag");
String financId1= financId+ actionFlag;
String fileName = financId1+".txt";
String name =URLEncoder.encode(fileName,"UTF-8");
String filepath = LianaStandard.getSelfDefineSettingsValue("perbankFilePath");
FileInputStream fis = new FileInputStream(filepath + File.separator + "fileName");
BufferedReader reader1 = new BufferedReader(new InputStreamReader(fis, "GBK"));
String buf = null;
int i = 1;
while ((buf = reader1.readLine()) != null) {
if (i % 2 == 0) {
StringTokenizer tokenizer = new StringTokenizer(buf, " ");
while (tokenizer.hasMoreElements()) {
pstmt.setObject (i ++, tokenizer.nextToken());
}
pstmt.executeUpdate (); // 插入一行
buf = reader1.readLine (); // 读入下一入
}
}
}catch (java.io.IOException ioe) {
} finally { // 关闭文件
try{
reader.close();
}
catch (java.io.IOException ignore) {
}
}
conn.commit (); // 提交事务
} catch (java.sql.SQLException e){ // 出错处理
try{conn.rollback ();} catch (java.sql.SQLException ignore){}
} finally {
if (conn != null) {
try { conn.close(); } catch (java.sql.SQLException ignore) {}
}
}
}
}
alix_12
2011-12-14
打赏
举报
回复
[Quote=引用 4 楼 viszl 的回复:]
oracle的话直接吃用sqlldr从文本文件导入数据
写好控制文件,然后
sqlldr userid=/ control = ttt.ctl
[/Quote]
首先谢谢你的了,可是这种方式对于我好像不太行。
我是想先导入数据库之后,然后从JSP里面取出来,然后问题和答案动态显示,方便以后维护用,直接更新TXT文件,不用更改JSP页面。
我是想写一个JAVA类,然后插入。
这个TXT解析不太好搞,读取第一行的题号存到ID里面,然后第一行的问题要存入ANSWER里面,接着读取第二行,这样的话必须要分割,如果用空格分割的话不知道怎么写。
loveofmylife
2011-12-14
打赏
举报
回复
oracle的话直接吃用sqlldr从文本文件导入数据
写好控制文件,然后
sqlldr userid=/ control = ttt.ctl
alix_12
2011-12-14
打赏
举报
回复
貌似没有人来。。。难道非要在技术区发帖才行,可是要积分大于20啊。。。救命啊!!!
alix_12
2011-12-14
打赏
举报
回复
我晕,格式又乱了,结果不是这样的啊。
我刚刚在百度知道提问了,类似那种的。
链接是http://zhidao.baidu.com/question/354580536.html?oldq=1
alix_12
2011-12-14
打赏
举报
回复
刚才图片的链接贴不上,结果类似这样的,多谢了啊:
id answer code
1. 您的年龄:
A、25岁 1
B、26-40岁 1
C、41-55岁 1
D、56及以上 1
2. 您的职业:
A、专业技术人员 2
B、服务业人员 2
C、军人 2
D、企业工薪 2
PLSQL
_Developer8.0绿色版64位
64位的
PLSQL
_Developer8.0绿色版 不需要安装,解压后可以直接使用
plsql
如何
导入
csv
文件
,
PLSQL
导入
csv
文件
到
数据
库
搜索热词好久不用oracle了,突然忘记怎么
导入
数据
了。今天再记录一下吧。1、建表。目的是:被
导入
到
数据
的存储位置。因为
数据
库
中曾经有过相同表结构的表,所以直接使用sql建表。sql">-- t_sdh_cc表create table t_sdh_cc as select * from t_sdh_cc_hn_cxh where 1=0;@H_404_7@2、建好表后,开始
导入
数据
。2....
plsql
导入
数据
库
文件
在PL/SQL中,可以使用以下语法来
导入
数据
库
文件
: @
文件
路径; 其中,
文件
路径是指要
导入
的
文件
的完整路径,例如: @D:\data\mydata.sql; 在执行这个语句后,PL/SQL会读取
文件
中的SQL语句并在
数据
库
中执行。请注意,你需要确保
文件
路径正确,并且具有读取
文件
的权限。 ...
Excel表
导入
plsql
数据
库
怎样将整个Excel表的
数据
全部
导入
plsql
数据
库
中呢?下面分享一下博主的经历 工具:EXCEL表一张;
PLSQL
操作步骤: 1、在
数据
库
中创建一张你需要
导入
数据
的目标表,QQQ 2、在
PLSQL
中打开Tools-----ODBL importer ,在打开的Date from ODBC中选择Excel Files,然后点击Connect,在弹出的工作薄中选择要
导入
的Excel
PLSQL
导入
.
txt
文件
1.准备
txt
文本
数据
,记录行是用回车分隔,列用逗号分隔 注意:把
txt
文本里的
数据
最上面加上一行头,与你要插入的表的结构对应(试一下你会发现好处) 2.打开
PLSQL
,选择Tools->Text Importer 3.点击内窗口左上角(Open Data File)选择
数据
文本 4.
txt
文本
数据
有表头的情况:在Data from Textfile视图里,在中间的Configuration视窗把Name in header单选框选中 5.切换到Data to Oracle视图,选择你要插入的表 注意
非技术区
23,404
社区成员
70,593
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章