将文本格式数据插入到DB2数据库中
这是我的数据格式我想把这些数据插入到DB2数据库中怎么做啊publicvoidreadtxt()throwsFileNotFoundException{BufferedR...
这是我的数据格式
我想把这些数据插入到DB2 数据库中
怎么做啊
public void readtxt() throws FileNotFoundException{
BufferedReader in=new BufferedReader(new FileReader( "C:\\text.txt "));
String s;
int i=0;
Connection conn=null;
PreparedStatement ps = null;
try {
while((s=in.readLine())!=null)
{
StringTokenizer t=new StringTokenizer(s, ",");// "| "为分隔符
String id=t.nextToken();//将第一个记录赋给变量id
String name=t.nextToken();//将第二个记录赋给变量name
String age=t.nextToken();//将第三个记录赋给变量age
String sex=t.nextToken();//将第四个记录赋给变量sex
i++;
String sql="insert into aa (TITLEID,TITLECODE,TITLENAME,TITLESPELL) values (id,name,age,sex)";
conn=getconnection();
ps=conn.prepareStatement(sql);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我是这么做的
但是其中有一列是空的,怎么搞啊 展开
我想把这些数据插入到DB2 数据库中
怎么做啊
public void readtxt() throws FileNotFoundException{
BufferedReader in=new BufferedReader(new FileReader( "C:\\text.txt "));
String s;
int i=0;
Connection conn=null;
PreparedStatement ps = null;
try {
while((s=in.readLine())!=null)
{
StringTokenizer t=new StringTokenizer(s, ",");// "| "为分隔符
String id=t.nextToken();//将第一个记录赋给变量id
String name=t.nextToken();//将第二个记录赋给变量name
String age=t.nextToken();//将第三个记录赋给变量age
String sex=t.nextToken();//将第四个记录赋给变量sex
i++;
String sql="insert into aa (TITLEID,TITLECODE,TITLENAME,TITLESPELL) values (id,name,age,sex)";
conn=getconnection();
ps=conn.prepareStatement(sql);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我是这么做的
但是其中有一列是空的,怎么搞啊 展开
1个回答
展开全部
首先,需要确定空的那一列在数据库中对应的字段是否允许为空。
其次,如果可以为空,那么运行如下命令,将数据导入数据库:
db2 "import from c:/text.txt of del commitcount 1000 insert into aa" ; 其中c:/text.txt是文件路径及名字,commitcount 1000表示每1000条记录提交一次,这样做可以在一定程度上避免日志满,此处1000为任意正整数。
另外还有一个命令,可以用于千万级海量数据导入:
db2 "load from c:/text.txt of del insert into aa" ; 实行的是装载操作,不写日志将数据导入数据库中,效率比较高。
如果那一列不能为空,那说明你的数据有问题,请检查数据合法性。
其次,如果可以为空,那么运行如下命令,将数据导入数据库:
db2 "import from c:/text.txt of del commitcount 1000 insert into aa" ; 其中c:/text.txt是文件路径及名字,commitcount 1000表示每1000条记录提交一次,这样做可以在一定程度上避免日志满,此处1000为任意正整数。
另外还有一个命令,可以用于千万级海量数据导入:
db2 "load from c:/text.txt of del insert into aa" ; 实行的是装载操作,不写日志将数据导入数据库中,效率比较高。
如果那一列不能为空,那说明你的数据有问题,请检查数据合法性。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询