文本流sqlserver,文本流是不是输入输出流

如何把某个文本数据内容直接导入在SQLserver的表中?

在目标数据库上右键/导入数据/下一步/数据源选择“文本文件”,后面都下一步,在选择源表和视频那里全选,然后就行了。

福州网站建设公司成都创新互联,福州网站设计制作,有大型网站制作公司丰富经验。已为福州数千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的福州做网站的公司定做!

sqlserver导入文本数据时出现“抽样数据的最后一行不完整,可能缺少列或行分隔符,或未正确限定文本”错误

改数据的格式

格式可以调整,在企业管理器里可浏览导入格式和设置

java语言实现把txt文本文档里面的数据导入到SQL Server数据库的表中

假设sqlserver数据库DatabaseName=master,user = "sa",password = "root"

数据库中表temperature中group,layer列为int类型,one,two,three,four列为float类型

源文件名为sourcefile.txt

我用正则表达式,帮你把数据导入到SQLServer中了,完整的Java程序如下:

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class CCA {

//SQLServer

private String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//加载驱动程序  

private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";//设置数据库连接串  master为数据库名

private String user = "sa";//数据库登录用户名  

private String password = "root";//数据库登录密码  

public Connection getConnection() {  

try {  

Class.forName(driverName);  

return DriverManager.getConnection(url, user, password);  

} catch (Exception e) {  

e.printStackTrace();  

return null;  

}  

}  

public static void main(String[] args) {

CCA dcm = new CCA();  

String sql = "insert into temperature(group,layer,one,two,three,four) values(?,?,?,?,?,?)";

Connection conn=null;

PreparedStatement ps=null;

BufferedReader br=null;

try {

conn = dcm.getConnection(); 

br=new BufferedReader(new FileReader("sourcefile.txt"));

String s="";

String regex="(\\d+)\\s+(\\d+)\\s+(\\d+\\.\\d+)\\s+(\\d+\\.\\d+)\\s+(\\d+\\.\\d+)\\s+(\\d+\\.\\d+)";

while((s=br.readLine())!=null){

s=s.trim();

Pattern p=Pattern.compile(regex);

Matcher m=p.matcher(s);

if(m.matches()){

//System.out.println(m.group(1)+" "+m.group(2)+" "+m.group(3)+" "+m.group(4)+" "+m.group(5)+" "+m.group(6));

ps=conn.prepareStatement(sql);

ps.setInt(1, Integer.parseInt(m.group(1))); 

ps.setInt(2, Integer.parseInt(m.group(2))); 

ps.setFloat(3, Float.parseFloat(m.group(3))); 

ps.setFloat(4, Float.parseFloat(m.group(4))); 

ps.setFloat(5, Float.parseFloat(m.group(5))); 

ps.setFloat(6, Float.parseFloat(m.group(6))); 

ps.executeUpdate();

}

}

System.out.println("数据插入完毕!");

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}catch (SQLException e) { 

e.printStackTrace();

}finally{

try {

ps.close();

conn.close();

br.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

运行结果:

数据插入完毕!


文章题目:文本流sqlserver,文本流是不是输入输出流
转载来于:http://cdiso.cn/article/pheihh.html

其他资讯