练习1,从文件到数据库

原创
2017/04/17 11:38
阅读数 43

一、前言

1、工具:sqlserver2012

2、目的:把文件userinfo.txt里面的数据插入到表userinfo,过程中对用户性别做一次转换

二、操作步骤

1、准备源文件,将userinfo.txt放在本地目录下,内容如下

2、新建表结构

表一,性别表

CREATE TABLE [dbo].[usersex](
    [sid] [int] NOT NULL,
    [sex] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

往性别表中插入原始数据

insert into dbo.usersex values(1,'男'),(2,'女');

表二,用户信息表

CREATE TABLE [dbo].[userinfo](
    [uid] [int] NOT NULL,
    [uname] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    [udesc] [varchar](500) COLLATE Chinese_PRC_CI_AS NULL,
    [sid] [int] NULL
) ON [PRIMARY]

3、新建项目

点击确定

4、在下图处右击,新建OLE DB连接

选择好自己的数据库相关信息,点确定

建完效果如下

5、同样的连接管理器区域右击新建平面文件连接

a、点击常规

b、点击列

行分隔符选逗号,列分隔符选|,这是由我们源文件决定的。选完后,点击下面的刷新按钮,看一下出来的结果是否和我的一样

c、点高级,我们要修改一下列名,因为文件里面只有源数据,并没有指定每个字段属于什么列。所以b图里面只会显示列0.列1.列2,列3,我们要把他改成和表userinfo一致

点高级。要修改列名name,以及DataType为DT_14整型。同样的道理,列1,列2,列3也要修改好,他们的DataType因为是字符串类型,所以选择DT_STR就可以了

c、改完后,点击预览

应该是这个效果

 

5、在数据流模块中新建一个平面文件源

双击打开后

选择用户信息源

点击确定

6、转换userinfo.txt里面的性别(男 or 女)为usersex表里面的(sid),因为最终我们是想在userinfo表里插入性别在usersex中对应的主键,而不是男女。

所以我们要新建一个查找,如下图

双击查找

在可用输入列中右击编辑映射

点击确定,然后在可用查找列里面勾选sid,等同于下面的sql :select sid from usersex where sex=?

点击确定

7、新建OLE DB目标

双击OLE DB目标

点击确定,记得点击保存按钮,保存项目的所有修改信息

8、点击调试

9、查询数据库userinfo表,看数据是否进来

结束

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部