情景一:
数据库已存在旧表名 old_table,列名old_column_name。
将TXT文件导入数据库已存在旧表old_table中,导入过程中需注意
数据源中列名可全部不修改 或 全部修改列名为old_column_name(与old_table中列名一致)。
情景二:将源TXT文件导入数据库,默认时以源TXT文件名建新表sourceFile_table;导入过程中需修改数据源中列名为
custom_column_name(自定义列名)
数据库右键》任务》导入数据(I)...》 --或者-- 开始》程序》Microsoft Visual Studio2008》导入和导出数据(**位)》
SQLServer导入和导出向导》
下一步》选择数据源
数据源: 平面文件源
常规
文件名(i): 浏览选择TXT文件
区域设置(L): 中文
代码页(C): 65001(UTF-8) : 源TXT文件编码方式为UTF-8
936(ANSI/OEM-简体中文 GBK): 源TXT文件编码方式为ANSI
格式(M): 带分隔符
文本限定符(Q): <无>
标题行分隔符(R): {CR}{LF}
要跳过的标题行数(S): 可自定义
列
行分隔符(O): {CR}{LF}
列分隔符(C): 制表符{t}
高级
列名
Name
列名(可修改)
ColumnDelimiter
制表符{t}
DataType
据目标表的字段类型定义
OutputColumnWidth
可自定义
TextQualified
True
预览
要跳过的数据行数(A): 可自定义
下一步》选择目标
目标(D): SQL Server Native Client 10.0
服务器名称(S): 需手动输入“目标服务器名称”
使用SQL Server 身份验证(Q)
用户名(U): 需手动输入
密码(P): 需手动输入
数据库(T): 选择已建的数据库
下一步》选择源表和源视图
表和视图(T):
源
目标
双击》列映射(可编辑)》当主键id自增时,选中 启用标识插入
单击》下拉框》可选择目标表为(已存在表old_table 或者
默认时以源TXT文件名sourceFile_table建立新表)
》下一步》下一步》完成
-------------------------------------------问题一:将源TXT文件sourceFile_table.txt,导入数据库已存在表old_table
原因:源TXT文件sourceFile_table.txt中数据类型为varchar(50), 数据库已存在表old_table中数据类型为nvarchar(50)
解决方法:修改表old_table中,对应字段数据类型为varchar(50)
-------------------------------------------问题二:将TXT文件 导入 sqlserver数据库后,字段值中文乱码
原因:源TXT文件编码方式,和数据库编码方式不一致
解决方法:文件转码
方法1.源TXT文件》右键打开》文件另存为》编码(E):**》保存
方法2.源TXT文件sourceFile_table.txt、备份文件backupFile_table.txt》将源文件使用转码工具转换》将备份文件中数据复制到源文件中。
PS:此GBK—UTF-8转码工具缺点(文件转码并清空内容_需备份原文件数据)
转码工具下载地址链接:https://pan.baidu.com/s/1m58zzI5ope9dIEOBnMlGXg 密码:gin0
——————————————————————————情景一: 数据库已存在旧表名 old_table
数据库右键》任务》导入数据(I)...》 --或者-- 开始》程序》Microsoft Visual Studio2008》导入和导出数据(**位)》
SQLServer导入和导出向导》
下一步》选择数据源
下一步》选择目标
下一步》选择源表和源视图
》下一步》下一步》完成
数据库表dbo.old_table 右键》选择前1000行(W) 》
————————————————情景二: 将源TXT文件sourceFile_table.txt导入数据库后,生成新表sourceFile_table
数据库右键》任务》导入数据(I)...》 --或者-- 开始》程序》Microsoft Visual Studio2008》导入和导出数据(**位)》
SQLServer导入和导出向导》
下一步》选择数据源
下一步》选择目标
下一步》选择源表和源视图
》下一步》下一步》完成
数据库表dbo.sourceFile_table 右键》选择前1000行(W) 》