将TXT文件 导入 sqlserver数据库

时间:2022-01-21 06:10:11

情景一:将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

              数据库已存在旧表名 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文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

原因:源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

实例演示:将sourceFile_table.txt数据 导入 数据库表中
源TXT文件sourceFile_table.txt编码  ANSI
数据库编码                   GBK
将TXT文件 导入 sqlserver数据库

 将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

——————————————————————————情景一: 数据库已存在旧表名 old_table

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

数据库右键》任务》导入数据(I)...》     --或者--      开始》程序》Microsoft Visual Studio2008》导入和导出数据(**位)》

SQLServer导入和导出向导》

下一步》选择数据源

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

下一步》选择目标

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

下一步》选择源表和源视图

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

》下一步》下一步》完成

数据库表dbo.old_table 右键》选择前1000行(W) 》

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

————————————————情景二: 将源TXT文件sourceFile_table.txt导入数据库后,生成新表sourceFile_table

数据库右键》任务》导入数据(I)...》     --或者--      开始》程序》Microsoft Visual Studio2008》导入和导出数据(**位)》

SQLServer导入和导出向导》

下一步》选择数据源

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

下一步》选择目标

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

下一步》选择源表和源视图

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库

》下一步》下一步》完成

数据库表dbo.sourceFile_table 右键》选择前1000行(W) 》

将TXT文件 导入 sqlserver数据库将TXT文件 导入 sqlserver数据库