存储过程将.txt.xls文件数据导入数据库表格

简介:

 导这两种类型的文件,都有一定的要求。

    对于.txt文件,需要数据非常整齐,有间隔符,且每行分隔后的数据项数目、类型一致。例如:

    c1@c2@c3@c4

    101@2007-1-1@lislie@中国

    102@2008-1-1@merry@中国

    第一行为表头,如此我们在导入数据时,可以选择导入.txt文件中的部分字段:

INSERT   INTO  tableName
     
SELECT   *   FROM
     
OPENROWSET ( ' MSDASQL ' , ' Driver={Microsoft Text Driver (*.txt; *.csv)};DEFAULTDIR=d:/DataWarehouse;Extensions=CSV; ' ,
     
' SELECT 
    c1,c2,c3
     FROM [textname.txt]
' )
     
where  c1  is   not    null  

    tableName为数据库目标表格,textname.txt为文件名,DEFAULTDIR指定.txt文件所在路径。where条件,可过滤.txt文件中数据。

    .xls文件的数据相对整齐,但在写脚本导数据时,还是有一些注意的地方:

DELETE   FROM   @tptablename
INSERT   INTO   @tptablename     
    
SELECT   *  
    
FROM   OPENDATASOURCE ( ' Microsoft.Jet.OLEDB.4.0 ' , ' Data Source= '  
    
+   @Filepath   +   @FileName
    
+   ' .xls;Extended Properties=Excel 8.0 ' )... [ @SheetName$ ]
     

    @tptablename为目标表表名,@Filepath为.xls文件路径,@FileName为文件名前缀,拼接后,是包含文件系统完整路径的excell文件,@SheetName为Excell工作表名。要求表的字段跟excell的一直,且类型符合。

目录
相关文章
|
27天前
|
存储 关系型数据库 MySQL
|
24天前
|
存储 关系型数据库 MySQL
|
26天前
|
SQL XML 数据库
后端数据库开发高级之通过在xml文件中映射实现动态SQL
后端数据库开发高级之通过在xml文件中映射实现动态SQL
24 3
|
26天前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
32 3
|
29天前
|
存储 关系型数据库 MySQL
关系型数据库mysql日志和临时文件
【6月更文挑战第15天】
37 4
|
15天前
|
数据库
提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码
提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码
|
15天前
|
数据库
获取本地某文件中的以.jpg文件的名字,并导入数据库的测试代码
获取本地某文件中的以.jpg文件的名字,并导入数据库的测试代码
|
1月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
1月前
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)
|
1月前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
166 4