③、把文本文件导入目的SQL Server数据库
直接把文本文件导入目的SQL Server数据库里跟文本文件同名的新表名时,默认的会把所有字段类型都变成字符串。
所以我们要这样做:
在源SQL Server数据库上先生成创建表的sql语句
在SQL Server查询分析器里->选中源数据库里表名->按右键->在新窗口中编写对象脚本->创建->
复制下新窗口内创建表名的sql语句
到目标SQL Server数据库上查询分析器里执行创建表名的sql语句,生成空表结构。
(如果已经存在这样的表名,修改建表的sql语句,在表名后面加上导入时间的年月信息,例如table_0113)
调用导入/导出工具->弹出数据转换服务导入/导出向导窗口->下一步->
选数据源-> 数据源(文本文件)->
文件名(已传到目的SQL Server数据库下要导入的文本文件,后缀可以不是*.txt,
但是常规文本编辑器能打开的文件,文件类型选全部)->下一步->
选择文件格式->用默认的带分隔符->选第一行包含有列名称选项->下一步->
制定列分割符->逗号->下一步->
选择目的->目的(用于SQL Server的Microfost OLE DB提供程序)->
服务器(可选择目标局域网内能访问到的所有SQL Server服务器)->
选择使用windows身份验证还是使用SQL Serve身份验证(输入数据库的用户名和密码)->
数据库(可选择上面选中SQL Server服务器上所有权限范围内的数据库)->下一步->
选择源表和视图->修改目的表名为刚才创建的表名->转换(在目的表中追加行) ->下一步->
保存、调度和复制包->
时间->立即运行(如果要实现隔一段时间自动把文本文件导入,选调度DTS包以便以后执行)->
保存(可以不选)-> [保存DTS包(保存的时候要输入DTS的包名及详细描述)->下一步->]->完成
正在执行包->图形界面显示文本文件到表的步骤和状态->完成
如果要更改导入时间的年月信息的表名,例如table_0113到原来的表名,
在企业管理器里把原来的表名改成table_old_0113,table_0113改名成table。
这会对应用程序里频繁访问的表照成一定的中断。
注意:源表上的建的索引和主键约束不能用上面介绍的1和2方法转移过来,还需要手工来建索引和主键。
标志种子和not null的约束可以继承过来。
导入视图时会把源视图里所有的真实数据导入成一个新表,而不是视图。
三、SQL Server存储过程或用户定义的函数导出导入
1、导出存储过程或用户定义的函数成*.sql文件
在SQL Server企业管理器里选中源数据库,










