使用excel导入数据库的sql执行方式
2012-07-02 21:57
309 查看
在excel导入server数据库时,表的数据类型要设为nvarchar才不容易出错
启动外围应用配置器 ,可以用来导入excel数据库
可通过 SQL Server“开始”菜单使用 SQL Server 外围应用配置器:
· 在“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server2005 和“配置工具”,再单击“SQL Server 外围应用配置器”。
显示的第一个页面为 SQL Server 外围应用配置器的起始页。在该起始页中,可指定要配置的服务器:
1. 单击“配置外围应用”旁边的“更改计算机”链接。默认值为“localhost”。如果您以前选择的是一个命名服务器,则将会看到该服务器名称。
2. 在“选择计算机”对话框中,执行下列操作之一:
· 若要在本地计算机中配置 SQL Server 2005,请单击“本地计算机”。
· 若要在另一台计算机中配置 SQL Server 2005,请单击“远程计算机”,然后在文本框中输入计算机名称。
· 若要配置故障转移群集,请单击“远程计算机”,然后在文本框中输入故障转移群集实例名称。
3单击“确定”。
代码是:
insert into t1
select *
from OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,
'Excel 5.0;HDR=YES;DATABASE=C:\Documents andSettings\Administrator\桌面\无公害农产品认证产品查询\2008年无公害农产品合格产品目录.xls',第四批$);
insert into Chanpin(shengfen,s_name,product_name,product_sb,ton,zsbh,date)
select F2,F3,F4,F5,F6,F7,F8
from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=C:\Documents andSettings\Administrator\桌面\无公害农产品认证产品查询\2010年无公害农产品合格产品目录.xls',第八批产品目录$);
????为什么有时候是(65425 行受影响)受到影响,而不是实际行数受到影响
那是因为一个excel表格里面可以有65425个行,但是我们存储的只有几百行左右,其它的就变成空行了,
删除空行的办法,就是全选表格,然后数据----筛选---自动筛选---,在第一行的列上会有下拉框,点击非空白即可
1)接受数据导入的表已经存在。
insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
'Excel5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
2)导入数据并生成表。
select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
3) 导入Excel中指定的列到数据库表中指定的列。
INSERTINTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET 'MICROSOFT.JET.OLEDB.4.0','Excel5.0; HDR=YES; DATABASE=c:\\test.xls',sheet1$);
需要注意的地方。
1)外围应用配置器的设置。
从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。
2)关闭Excel表。
如果在导入时要导入的Excel表格处于打开状态,会提示:
“无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”
3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。
启动外围应用配置器 ,可以用来导入excel数据库
可通过 SQL Server“开始”菜单使用 SQL Server 外围应用配置器:
· 在“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server2005 和“配置工具”,再单击“SQL Server 外围应用配置器”。
显示的第一个页面为 SQL Server 外围应用配置器的起始页。在该起始页中,可指定要配置的服务器:
1. 单击“配置外围应用”旁边的“更改计算机”链接。默认值为“localhost”。如果您以前选择的是一个命名服务器,则将会看到该服务器名称。
2. 在“选择计算机”对话框中,执行下列操作之一:
· 若要在本地计算机中配置 SQL Server 2005,请单击“本地计算机”。
· 若要在另一台计算机中配置 SQL Server 2005,请单击“远程计算机”,然后在文本框中输入计算机名称。
· 若要配置故障转移群集,请单击“远程计算机”,然后在文本框中输入故障转移群集实例名称。
3单击“确定”。
代码是:
insert into t1
select *
from OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,
'Excel 5.0;HDR=YES;DATABASE=C:\Documents andSettings\Administrator\桌面\无公害农产品认证产品查询\2008年无公害农产品合格产品目录.xls',第四批$);
insert into Chanpin(shengfen,s_name,product_name,product_sb,ton,zsbh,date)
select F2,F3,F4,F5,F6,F7,F8
from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=C:\Documents andSettings\Administrator\桌面\无公害农产品认证产品查询\2010年无公害农产品合格产品目录.xls',第八批产品目录$);
????为什么有时候是(65425 行受影响)受到影响,而不是实际行数受到影响
那是因为一个excel表格里面可以有65425个行,但是我们存储的只有几百行左右,其它的就变成空行了,
删除空行的办法,就是全选表格,然后数据----筛选---自动筛选---,在第一行的列上会有下拉框,点击非空白即可
1)接受数据导入的表已经存在。
insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
'Excel5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
2)导入数据并生成表。
select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'Excel 5.0;HDR=YES;DATABASE=c:\\test.xls',sheet1$);
3) 导入Excel中指定的列到数据库表中指定的列。
INSERTINTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET 'MICROSOFT.JET.OLEDB.4.0','Excel5.0; HDR=YES; DATABASE=c:\\test.xls',sheet1$);
需要注意的地方。
1)外围应用配置器的设置。
从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。
2)关闭Excel表。
如果在导入时要导入的Excel表格处于打开状态,会提示:
“无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”
3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。
相关文章推荐
- 使用PL/SQLDeveloper把excel数据导入到数据库
- NPOI导入excel文件为DataTable,使用SqlBulkCopy添加到数据库表
- HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
- 把Excel表中的数据导入sql service数据库的语句
- 使用pl/sql 工具导入dmp数据库文件
- Excel拼装Sql语句将数据批量导入数据库
- 使用ocupload和POI一键上传Excel并解析导入数据库
- Excel导入MYSQL\ORACLE\SQL SERVER等数据库
- MYSQL函数及导出、导入数据库;执行SQL脚本
- PHPEXCEL导入数据库,执行到load导致系统崩溃问题
- SQL中使用xp_cmdshell将硬盘中文件内容导入数据库
- Java中使用Oracle的客户端 load data和sqlldr命令执行数据导入到数据库中
- 使用SqlBulkCopy实现Excel批量导入数据库
- [转]64位环境中使用SQL查询excel的方式解决 .
- 将一个sql文件在远程的数据库执行、导入其数据
- 通过SQL脚本导入数据到不同数据库避免重复导入三种方式
- ORCLE数据库 使用数据泵方式导入导出数据的误区分析
- C#中对Excel的操作 使用Excel公式,导入导出数据库等
- 用sql server导入导出功能 把excel导入到sql的表中,提示导入成功,但是数据库表中并没有数据?