工作上需要将部分csv数据导入到sqlserver数据库,所以自己写了个小程序来完成。本来可以用php或C++等自己更加熟练的语言来做,但是因为自己最近在练习java,所以最终还是决定使用java。
在运行过程中发现自己没注意的问题,就是insert效率的问题。一开始我按之前的习惯,把数据库操作的部分封装成一个函数在每次读取csv一行数据的循环体内进行调用,在导入数据时发现耗时较长,后来仔细分析一下,才发现这样调用会在循环体每执行一次时,都进行一次数据库连接的打开关闭操作,从而影响运行效率,所以最终取消了数据库操作的函数。
代码如下:
import java.io.BufferedReader;
import java.io.*;
import java.util.*;
import java.io.IOException;
import java.sql.*;
public class test{
public static void main(String[] args){
csv2sql("test.csv");
}
private static void csv2sql(String filename){
try{
BufferedReader br = new BufferedReader(new FileReader(filename));
String line = null;
String connString = "jdbc:sqlserver://127.0.0.1:1433;database=test;user=sa;password=test";
Connection con = null;
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connStr);
while ((line=br.readLine())!=null){
String item[] = line.split(",");
String sql = "insert into table (column1,column2) values ('"+item[0]+"','"+item[1]+"')";
Statement stmt = con.createStatement();
stmt.executeUpdate(sql);
stmt.close();
}
}
catch (IOException e){
e.printStackTrace();
}
}
}
转载于:https://my.oschina.net/cslinq/blog/755823
分享到:
相关推荐
总结来说,Java导入CSV到SQL Server数据库涉及CSV文件的读取、数据库连接的建立、SQL语句的构造与执行。Apache Commons CSV库和JDBC是实现这一任务的关键工具。通过实践和理解这个过程,你将能够处理类似的文件导入...
总之,从SQL Server导入Oracle数据库的过程涉及多个环节,包括数据导出、转换、导入、连接管理以及性能和安全性考虑。了解这些步骤并根据具体需求进行定制,是成功完成数据迁移的关键。在实际操作中,应根据项目规模...
在IT行业中,数据的导入与导出是常见的操作...总的来说,通过Java将数据库导入CSV程序,我们可以实现数据的高效迁移和共享,同时利用CSV的灵活性和通用性。对于Java开发者来说,掌握这样的技能对日常开发工作大有裨益。
3. 数据导出:从SQL Server导出数据,可以使用SQL Server Management Studio(SSMS)或其他第三方工具,如bcp命令行工具,生成CSV或XML文件,或者直接通过ODBC/JDBC接口获取数据。 4. 数据加载:使用MongoDB的mongo...
当涉及到不同数据库系统间的数据交互,如从SQL Server到MySQL,JAVA作为一种强大的后端编程语言,提供了丰富的库和工具来实现跨数据库服务器的数据导出和导入功能。本文将深入探讨如何使用JAVA来实现这一目标。 ...
综上所述,通过Java提取和分析SQL Server日志是一项涉及数据库连接、文件I/O、日志解析和分析的综合任务。理解这些知识点并熟练运用,可以帮助我们更好地管理和维护SQL Server环境,提升系统的稳定性和性能。
4. **数据导出**:使用SQL Server的导出工具,如bcp或SSIS,将数据导出为可读格式,如CSV或TSV。 5. **数据导入**:Greenplum提供了多种导入工具,如gpfdist和gpload,用于高效地将数据导入新系统。 **二、SQL移植...
2. **数据导出**:使用SQL Server的内置工具如`bcp`或者T-SQL的`SELECT INTO OUTFILE`命令,将数据导出为CSV或其他可读格式。如果使用JAVA,可以编写程序来执行SQL查询并将结果写入文件。 3. **数据转换**:根据...
9. **数据导入导出**:客户端可以用来将数据导入到SQL Server 2000,或者将数据导出到其他格式,如CSV或Excel。 10. **服务代理**:SQL Server 2000的服务代理允许创建和调度作业,以实现自动化任务,如定期备份或...
1. 数据库连接:为了连接SQL Server和SQLite,你需要了解ODBC(Open Database Connectivity)或JDBC(Java Database Connectivity)等数据库连接技术,以便通过这些接口与数据库进行通信。 2. 数据导出:在SQL ...
1. **数据导入导出**:可能包含从不同格式文件(如CSV、Excel)导入数据,或导出为其他格式的示例。 2. **报表与分析**:可能有使用SQL Server Reporting Services (SSRS) 创建报表,或使用Integration Services ...
6. **数据导出与导入**:如果源码具备数据备份或同步功能,那么它可能还包含了数据导出为CSV、XML或其他格式,以及将数据导入到其他SQL Server实例的代码。 7. **日志记录**:为了便于追踪和排查问题,源码中可能有...
描述中提到的“PB跨平台数据同步的程序支持不同种类的数据库SQLSERVER、ORACLE、SYBASE等”揭示了该程序的跨平台特性和兼容性。它不仅可以在多种操作系统上运行,还能够与多种主流的关系型数据库管理系统(RDBMS)...
1. **SQL Server Management Studio (SSMS)**:这是官方提供的图形化工具,可以直接执行INSERT语句来逐条插入数据,或者使用Bulk Insert命令批量导入CSV或Excel文件。如果数据量较大,使用BULK INSERT或OPENROWSET...
Embulk是一款强大的批处理数据导入导出工具,支持多种数据源和目标数据库,并且可以通过简单的配置文件来完成复杂的数据处理任务。 #### 二、需求分析 在实际项目中,由于SQL Server部署在本地机房而MySQL部署...
2. **JDBC**:JDBC是Java中用于连接数据库的标准接口,它允许程序执行SQL语句,如插入、删除、更新和查询数据。在“jsf + jdbc”组合中,JDBC用于在后台与数据库进行交互,完成数据的增删改查操作。开发者会编写SQL...
8. 数据导入导出:说明如何将数据从其他格式导入SQL Server 2000,或者将数据导出到其他系统,如Excel、CSV文件等。 9. 触发器与存储过程:讲解如何使用触发器来实现业务规则,以及编写和调用存储过程以提高代码...
SQL Server提供了强大的数据导入导出功能,可以通过SQL Server Management Studio (SSMS) 或者BULK INSERT语句从Excel、Access、TXT等文件导入大量数据。同样,也可以通过SELECT INTO或RIGHT CLICK -> Tasks -> ...
3. **数据导出与转换**:在SQL Server中,导出数据为XML或CSV格式,或者生成T-SQL脚本。由于SQL Server和Oracle的语法差异较大,可能需要手动或使用工具转换脚本。 4. **导入与加载**:在Oracle中,可以使用SQL ...
在SQL中,可以使用`LOAD DATA INFILE`(MySQL)、`BULK INSERT`(SQL Server)或`COPY`(PostgreSQL)命令来批量导入CSV数据。 2. **预处理**:在导入前,可能需要清理和格式化数据,例如删除空格、转换数据类型、...