在这篇文章中,作者已经写的很好,但本人在将数据导入sqlserver的过程中,没有写那么复杂的程序。但实现了导入数据这个功能。下面,跟大家一一说来。
我用的开发平台是MyEclipse,但从网上查阅的资料来看,用Eclipse操作过程好像是一样的。
1、数据库准备: sqlserver数据库中
(1)创建dataitems数据库:
数据库—>新建数据库—>数据库名称:dataitems
(2)创建表dataitem:
新建查询,复制以下代码到新建的.sql文件中,并按F5执行。
create table dataitem( com1 varchar(50) not null, com2 varchar(50) not null, com3 varchar(50) not null, com4 varchar(50) not null, com5 varchar(50) not null, com6 varchar(50) not null, com7 varchar(50) not null, com8 varchar(50) not null, com9 varchar(50) not null, com10 varchar(50) not null, com11 varchar(50) not null, com12 varchar(50) not null, com13 varchar(50) not null, com14 varchar(50) not null, com15 varchar(50) not null, com16 varchar(50) not null, com17 varchar(50) not null, com18 varchar(50) not null, com19 varchar(50) not null, com20 varchar(50) not null, com21 varchar(50) not null, com22 varchar(50) not null, com23 varchar(50) not null, com24 varchar(50) not null, com25 varchar(50) not null, com26 varchar(50) not null, com27 varchar(50) not null, com28 varchar(50) not null, com29 varchar(50) not null, com30 varchar(50) not null, com31 varchar(50) not null, com32 varchar(50) not null, com33 varchar(50) not null, com34 varchar(50) not null, com35 varchar(50) not null, com36 varchar(50) not null, com37 varchar(50) not null, com38 varchar(50) not null, com39 varchar(50) not null, com40 varchar(50) not null, com41 varchar(50) not null, com42 varchar(50) not null )
至此,我们创建了dataitems数据库,并创建了dataitem表。
2、打开MyEclipse—>File—>New—>Java Project,在Project name里填写项目名称,我写的是trust—>确定
3、右键单击trust项目下面的src—>New—>Package,在name里填写包名称,我写的是db.xuss—>确定
4、右键单击db.xuss包—>New—>Class,在name里填写包名称,我写的是lala—>确定
5、打开lala.java,将下面的代码复制过去(注意如果用户名、密码、端口跟你的不符,要修改成你自己的):
package db.xuss; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.sql.*; public class lala { public static void main(String[] args) throws Exception{ try { File f=new File("E:/kddcup.data"); System.out.println("kddcup.data exits\t"+f.exists()); BufferedReader br=new BufferedReader(new FileReader(f)); File f1=new File("E:/data1.txt"); BufferedWriter bw=new BufferedWriter(new FileWriter(f1)); String s = br.readLine(); String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=dataitems"; //连接服务器和数据库test String userName = "sa"; //默认用户名 String userPwd = "123456"; //密码 Connection conn=null; try { Class.forName(driverName); conn = DriverManager.getConnection(dbURL, userName, userPwd); System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful! } catch (Exception e) { e.printStackTrace(); } String[] strs; String com1=null; String com2=null; String com3=null; String com4=null; String com5=null; String com6=null; String com7=null; String com8=null; String com9=null; String com10=null; String com11=null; String com12=null; String com13=null; String com14=null; String com15=null; String com16=null; String com17=null; String com18=null; String com19=null; String com20=null; String com21=null; String com22=null; String com23=null; String com24=null; String com25=null; String com26=null; String com27=null; String com28=null; String com29=null; String com30=null; String com31=null; String com32=null; String com33=null; String com34=null; String com35=null; String com36=null; String com37=null; String com38=null; String com39=null; String com40=null; String com41=null; String com42=null; PreparedStatement pst = null; String sql = "insert into dataitem values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; while(s!=null){ strs=s.split(","); com1=strs[0]; com2=strs[1]; com3=strs[2]; com4=strs[3]; com5=strs[4]; com6=strs[5]; com7=strs[6]; com8=strs[7]; com9=strs[8]; com10=strs[9]; com11=strs[10]; com12=strs[11]; com13=strs[12]; com14=strs[13]; com15=strs[14]; com16=strs[15]; com17=strs[16]; com18=strs[17]; com19=strs[18]; com20=strs[19]; com21=strs[20]; com22=strs[21]; com23=strs[22]; com24=strs[23]; com25=strs[24]; com26=strs[25]; com27=strs[26]; com28=strs[27]; com29=strs[28]; com30=strs[29]; com31=strs[30]; com32=strs[31]; com33=strs[32]; com34=strs[33]; com35=strs[34]; com36=strs[35]; com37=strs[36]; com38=strs[37]; com39=strs[38]; com40=strs[39]; com41=strs[40]; com42=strs[41].replace(".",""); pst = conn.prepareStatement(sql); pst.setString(1,com1); pst.setString(2,com2); pst.setString(3,com3); pst.setString(4,com4); pst.setString(5,com5); pst.setString(6,com6); pst.setString(7,com7); pst.setString(8,com8); pst.setString(9,com9); pst.setString(10,com10); pst.setString(11,com11); pst.setString(12,com12); pst.setString(13,com13); pst.setString(14,com14); pst.setString(15,com15); pst.setString(16,com16); pst.setString(17,com17); pst.setString(18,com18); pst.setString(19,com19); pst.setString(20,com20); pst.setString(21,com21); pst.setString(22,com22); pst.setString(23,com23); pst.setString(24,com24); pst.setString(25,com25); pst.setString(26,com26); pst.setString(27,com27); pst.setString(28,com28); pst.setString(29,com29); pst.setString(30,com30); pst.setString(31,com31); pst.setString(32,com32); pst.setString(33,com33); pst.setString(34,com34); pst.setString(35,com35); pst.setString(36,com36); pst.setString(37,com37); pst.setString(38,com38); pst.setString(39,com39); pst.setString(40,com40); pst.setString(41,com41); pst.setString(42,com42); int row = pst.executeUpdate(); pst.close(); s = br.readLine(); } conn.close(); }catch (Exception ex) { System.out.println("Error : " + ex.toString()); } } }
代码写的很粗糙,请各位不要介意。
5、现在还不能运行,因为越少jar包。下面要把jar包引进来。
你如果没有链接sqlserver2005的jar包,需要先下载,可以从我的CSDN资源里免积分下载:http://download.csdn.net/detail/thisnameokbu/8397285
(1)下载后,先解压。解压后生成sqljdbc_1.1.1501.101_chs文件夹,将该文件夹下的sqljdbc_1.1文件夹复制到C:\temp下。
(2)然后我们需要设置“环境变量”。(我的电脑操作系统时winxp)设置方法:我的电脑—>右键“属性”—>高级—>环境变量—>系统变量中找到classpath变量,双击进行编辑,在最后添加 ;C:\temp\sqljdbc_1.1\chs\sqljdbc.jar(记住classpath中各个路径之间都必须用;隔开!!!),重启电脑(不过重启电脑之前,需要先记录下这个博客的url。。。-_-||)
(3)回到MyEclipse,我们需要把jar包添加进来。Project—>Properties—>Java Buid Path—>Libraries—>Add External Jar—>找到C:\temp\sqljdbc_1.1\chs\sqljdbc.jar选中—>OK
6、打开lala.java文件,点击下面所指示的标志,运行
Console控制台出现的信息如下图所示。数据导入数据库的时间会很久,需要耐心等待。等到箭头所致处变成灰色就说明程序已经执行完了。
导完数据后,dataitem表中一共有4898431行数据。可以通过sql语句:select count(*) as num from dataitem获得。如下图所示:
对KDD中各个字段的解释可以参考:http://blog.csdn.net/com_stu_zhang/article/details/6987632
另:连接mysql5.0的代码如下,jar包免积分下载地址:http://download.csdn.net/detail/thisnameokbu/8403917
String driverName = "com.mysql.jdbc.Driver"; //加载JDBC驱动 String dbURL = "jdbc:mysql://localhost:3306/db_rbf"; //连接服务器和数据库test String userName = "root"; //默认用户名 String userPwd = "root"; //密码
(如果还有什么不明白的地方,可以给我发邮件:1436152256@qq.com)