SQL与Excel数据交互
过程:将一种类似于txt类型的文件的内容导入到SQL中形成表,以及将表从sql中导出到excel中的两种方法;网上有关于导入txt文件的方法,也试了一些,但是感觉txt文件毕竟有些太随意,空格、tab、enter等处理起来可能不安全,导致生成的表格错乱,在此建议先将txt弄成excel,算是一种“格式化“。
环境:sqlserver 2008 excel2013 win7 64位
导入到sql中:
1、将文件内容复制到excel中,并条理清楚,右击目标数据库->任务->导入数据(I)
2、进入到选择数据源,下拉数据源list,选择MicrosoftExcel,选择文件路径
3、下一步:选择目标。服务器名称及用户名密码,目标数据库的选择,下一步,制定表复制或查询,选项一默认,选项二需要sql语句,下一步选择源表和源视图,此处需要选择需要导入的sheet及目标数据库表的名字,在此可点击编辑映射,来更改导入时的列的数据类型及精度。
4、保存并运行包,单机两次完成,即可看到插入结果
5、刷新数据库即可看到新建表。
sql导出表格:
1、右击目标数据库->任务->导出数据类似于导入的逆操作
选择数据源(数据源及用户密码数据库等),完成后单机下一步
2、选择目标,下拉目标框,选择Microsoft Excel,出现文件浏览(选择已经建好的空Excel)。单机下一步
3、指定表复制及查询,默认下一步,选择源表和源视图,在此选择需要导出的表,
4、单击下一步若出现查看数据类型映射,则会在完成是出现数据精度、长度等问题
5、若未出现第四步,则单击完成。
MicrosoftExcel连接sql数据库导出数据:
1、在一个空Excel表格中,点击数据->其他来源,选择来自Sql Server,服务器名称填写,尽量使用本机IP地址,而不是类似填写成local及127.0.0.1,否则可能出现“[ ConnectionOpen(connect()).]SQL Server 不存在或拒绝访问”
2、进入数据连接导向后,选择数据库即可看到该数据库下的所有表格,支持多选。默认点击直到完成即可看到数据出现在excel中。
在数据库操作时出现过“Microsoft.Jet.OLEDB.……“,此时安装AccessDatabaseEngine.exe
链接:http://124.202.164.12/files/2229000001A71EBE/download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe
也出现过:
消息
错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80040E21。
(SQL Server 导入和导出向导)
错误 0xc0202025: 数据流任务 1: 无法创建 OLE DB 取值函数。请查看列元数据是否有效。
(SQL Server 导入和导出向导)
错误 0xc004701a: 数据流任务 1: 组件“目标 - TbCredAction”(19) 在执行前阶段失败,返回的错误代码为 0xC0202025。
导入时有关表格命名的地方切记去掉$符号,否则导出时也会出现这种情况
尝试更改数据类型试试;excel与sql的数据类型有差异
页:
[1]