请教高手,SQLSERVER导入数据时出现“未能创建DTS包的实例”怎么办

请教高手,SQLSERVER导入数据时出现“未能创建DTS包的实例”怎么办,第1张

怎么说呢?

首先问下,你自己的CNH的数据源是你的LOCAL数据源还是另外的数据库事例?

在一般情况下,默认情况下,二者为同有一个数据源。

你出现的这问题,一般是数据源和目标数据源的问题,自己再检查下吧希望你能解决

1SQLServer2000常用的数据导入导出方法1

1通过DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,易于 *** 作,但熟悉的人一般不多,如果只是进行SQLServer数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动

在SQLServerEnterpriseManager中,展开服务器左边的+,选择数据库,右击,选择Alltasks/ImportData

(或Alltasks/ExportData

),进入向导模式,然后按照提示一步一步进行就可以了,里面分得非常详细,可以灵活的在不同数据源之间复制数据,非常的方便,而且还可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力

也可以直接打开DTS设计器,方法是展开服务器名称下面的DataServices,选LocalPackages,在右边的窗口中右击,选NewPackage,就打开了DTS设计器

值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引

其实在建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化

1

2利用Bcp工具这种工具虽然在SQLServer2000的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQLServer早期版本的人

不过Bcp确实有其局限性,首先它的界面不是图形化的;其次它只是在SQLServer的表(视图)与文本文件之间进行复制

但是另一方面,它也有其优点:性能好,开销小,占用内存少,速度快

1

3利用备份和恢复先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复 *** 作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了

这种方法可以完全恢复数据库,包括外键,主键,索引

1

4直接拷贝数据文件把数据库的数据文件(

mdf)和日志文件(

ldf)都拷贝到目的服务器,在SQLServerQueryAnalyzer中用语句进行恢复:EXECsp_attach_db@dbname=’test’,@filename1=’d:mssql7data est_data

mdf’,@filename2=’d:mssql7data est_log

ldf’这样就把test数据库附加到SQLServer中,可以照常使用,如果不想用原来的日志文件,可以用如下的命令:EXECsp_detach_db@dbname=’test’EXECsp_attach_single_file_db@dbname=’test’,@physname=’d:mssql7data est_data

mdf’这个语句的作用是仅仅加载数据文件,日志文件可以由SQLServer数据库自动添加,但是原来的日志文件中记录的数据就丢失了

1

5在应用程序中定制可以在应用程序(PB、VB)中执行自己编写的程序,也可以在QueryAnalyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要是SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:1

5

1select

intonew_tablenamewhere

1

5

2insert(into)old_tablenameselect

from

where

这两种方式的区别是前者把数据插入一个新表(先建立表,再插入数据),而后者是把数据插入已经存在的一个表中,一般来说,第二条语句强于前者

1

6SQLServer的复制功能SQLServer提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:1

6

1SQLServerAgent必须启动,MSDTC必须启动

1

6

2所有要复制的表必须有主键

1

6

3如果表中有text或image数据类型,必须使用withlog选项,不能使用withno_log选项

另外maxtextreplsize选项控制可以复制的文本和图像数据的最大规模,超过这个限制的 *** 作将失败

1

6

4在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$

1

6

5为SQLServer代理使用的WindowsNT账号不能是一个本地的系统账号,因为本地的系统账号不允许网络存取

1

6

6如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系

2实现基于网页的数据库数据导入那么,如何实现基于网页的数据库数据导入呢,下面利用一个比较简单的网络介绍一下

假设某局域网的网络拓扑结构如下所示:其中服务器A和工作站B位于局域网内,工作站C与服务器D位于Internet内,局域网与Internet是物理隔离的,工作站C与工作站D在同一个办公室内,服务器A上的数据库管理系统是Oracle,服务器D上的数据库管理系统是SQLServer2000

由于工作需要,要求把服务器A的有关数据导入到服务器D上

2

1通常的工作流程:2

1

1在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件

2

1

2用移动硬盘把dbf文件从工作站B拷贝到工作站C上

2

1

3在工作站C上,用ftp软件将dbf文件上传到服务器D上

2

1

4在工作站C上,运行远程桌面软件登录到服务器D上

2

1

5在服务器D上,执行DTS,将dbf文件中的数据导入到SQLServer数据库

2

1

6在服务器D上,运行相关存储过程,做数据的后期处理工作

在许多情况下,因为各种不同情况的需要,这个工作流程每天(甚至更短的时间内)就要执行一次,非常繁琐,而且使用手工 *** 作,很容易出错

下面提出一种改进的方案

2

2改进后的工作流程2

2

1在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件

2

2

2用移动硬盘把dbf文件从工作站B拷贝到工作站C上

2

2

3在工作站C上,打开服务器D上的相关网页,利用网页将dbf文件的数据导入到服务器D上的SQLServer数据库中

首先,要在网页里实现上传功能,把dbf文件从工作站C上传到服务D上,这里就不多介绍了

要通过网页把dbf文件导入到SQLServer中,需要借助DTS可编程对象

DTS包含一组可编程COM对象,主要包含:DTS

Package、DTS

Connection、DTS

Step、DTS

、DTS

、DTS

在ASP网页里,通过用VBScript脚本创建调用DTS可编程COM对象,可以完成数据导入任务

SQLServer2000有比较详细的文档资料介绍DTS编程,但没有给一个具体的例子,如果仅参考文档资料,难度比较大,开发时间也会相当长

这里大概的介绍一下开发程序的过程

首先,在SQLSever2000的DTS设计器里,创建DTS包,实现从dbf文件到SQLServer2000的数据导入,把后期处理的存储过程也添加到DTS包里

将这个DTS包另存为VBScript文件

有了这个VBScript文件,开发程序就容易多了,加入所需要的其他代码,就可以在网页里实现数据库的数据导入

参考文献1张莉,等

SQLServer数据库原理及应用教程〔M〕

北京:清华大学出版社,2003

2梁方明

SQLServer2000数据库编程〔M〕

北京:北京希望电子出版社,2002

3LouisDavidson(美)

SQLServer2000数据库设计权威指南〔M〕

中国电力出版社,2002

[

选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。

在对象资源管理器窗口中展开服务器,然后选择数据库节点

右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。

执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。

在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。

切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到文件组页,在这里可以添加或删除文件组。

完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

MS SQL中如何添加大量数据库?希望你能帮我想想!

解析:

1 通过工具DTS的设计器进行导入或导出

DTS的设计器功能强大,支持多任务,也是可视化界面,容易 *** 作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import Data(或All tasks/Export Data),进入向导模式,按提示一步一步走就行了,里面分得很细,可以灵活的在不同数据源之间复制数据,很方便的。而且可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力。也可以直接打开DTS设计器,方法是展开服务器名称下面的Data Transformation Services,选Local Packages,在右边的窗口中右击,选New Package,就打开了DTS设计器。值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引。

其实建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化。

2 利用Bcp工具

这种工具虽然在SQL Server7的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQL Server早期版本的人。Bcp有局限性,首先它的界面不是图形化的,其次它只是在SQL Server的表(视图)与文本文件之间进行复制,但它的优点是性能好,开销小,占用内存少,速度快。有兴趣的朋友可以查参考手册。

3 利用备份和恢复

先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复 *** 作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了。这种方法可以完全恢复数据库,包括外键,主键,索引。

4 直接拷贝数据文件

把数据库的数据文件(mdf)和日志文件(ldf)都拷贝到目的服务器,在SQL Server Query Analyzer中用语句进行恢复:

EXEC sp_attach_db @dbname = 'test',

@filename1 = 'd:\mssql7\data\test_datamdf',

@filename2 = 'd:\mssql7\data\test_logldf'

这样就把test数据库附加到SQL Server中,可以照常使用。如果不想用原来的日志文件,可以用如下的命令:

EXEC sp_detach_db @dbname = 'test'

EXEC sp_attach_single_file_db @dbname = 'test',

@physname = 'd:\mssql7\data\test_datamdf'

这个语句的作用是仅仅加载数据文件,日志文件可以由SQL Server数据库自动添加,但是原来的日志文件中记录的数据就丢失了。

5 在应用程序中定制

可以在应用程序(PB、VB)中执行自己编写的程序,也可以在Query Analyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要时SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:

1> select into new_tablename where

2> insert (into) old_tablename select from where

区别是前者把数据插入一个新表(先建立表,再插入数据),后者是把数据插入已经存在的一个表中,我个人喜欢后者,因为在编程的结构上,应用的范围上,第二条语句强于前者。

6 SQL Server的复制功能

SQL Server提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:

1>SQL Server Agent必须启动,MSDTC必须启动。

2>所有要复制的表必须有主键。

3>如果表中有text或image数据类型,必须使用with log选项,不能使用with no_log选项。

另外max text repl size选项控制可以复制的文本和图像数据的最大规模,超过这个限制的 *** 作将失败。

4>在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$…。

5>为SQL Server代理使用的Windows NT帐号不能是一个本地的系统帐号,因为本地的系统帐号不允许网络存取。

6>如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系。本人从事的工作是数据库管理员,要维护多台服务器中的数据库,经常把某台服务器中的某个数据库移动到另外一台服务器,对数据的移动有些心得体会,希望和大家共同交流。

通过工具DTS的设计器进行导入或导出

DTS的设计器功能强大 支持多任务 也是可视化界面 容易 *** 作 但知道的人一般不多 如果只是进行SQL Server数据库中部分表的移动 用这种方法最好 当然 也可以进行全部表的移动 在SQL Server Enterprise Manager中 展开服务器左边的+ 选择数据库 右击 选择All tasks/Import Data (或All tasks/Export Data ) 进入向导模式 按提示一步一步走就行了 里面分得很细 可以灵活的在不同数据源之间复制数据 很方便的 而且可以另存成DTS包 如果以后还有相同的复制任务 直接运行DTS包就行 省时省力

也可以直接打开DTS设计器 方法是展开服务器名称下面的Data Transformation Services 选Local Packages 在右边的窗口中右击 选New Package 就打开了DTS设计器 值得注意的是:如果源数据库要拷贝的表有外键 注意移动的顺序 有时要分批移动 否则外键主键 索引可能丢失 移动的时候选项旁边的提示说的很明白 或者一次性的复制到目标数据库中 再重新建立外键 主键 索引

其实建立数据库时 建立外键 主键 索引的文件应该和建表文件分开 而且用的数据文件也分开 并分别放在不同的驱动器上 有利于数据库的优化

利用Bcp工具

这种工具虽然在SQL Server 的版本中不推荐使用 但许多数据库管理员仍很喜欢用它 尤其是用过SQL Server早期版本的人 Bcp有局限性 首先它的界面不是图形化的 其次它只是在SQL Server的表(视图)与文本文件之间进行复制 但它的优点是性能好 开销小 占用内存少 速度快 有兴趣的朋友可以查参考手册

利用备份和恢复

先对源数据库进行完全备份 备份到一个设备(device)上 然后把备份文件复制到目的服务器上(恢复的速度快) 进行数据库的恢复 *** 作 在恢复的数据库名中填上源数据库的名字(名字必须相同) 选择强制型恢复(可以覆盖以前数据库的选项) 在选择从设备中进行恢复 浏览时选中备份的文件就行了 这种方法可以完全恢复数据库 包括外键 主键 索引

直接拷贝数据文件

把数据库的数据文件( mdf)和日志文件( ldf)都拷贝到目的服务器 在SQL Server Query Analyzer中用语句进行恢复:

EXEC sp_attach_db @dbname = ’test’

@filename = ’d:mssql data est_data mdf’

@filename = ’d:mssql data est_log ldf’

这样就把test数据库附加到SQL Server中 可以照常使用 如果不想用原来的日志文件 可以用如下的命令:

EXEC sp_detach_db @dbname = ’test’

EXEC sp_attach_single_file_db @dbname = ’test’

@physname = ’d:mssql data est_data mdf’

这个语句的作用是仅仅加载数据文件 日志文件可以由SQL Server数据库自动添加 但是原来的日志文件中记录的数据就丢失了

在应用程序中定制

可以在应用程序(PB VB)中执行自己编写的程序 也可以在Query Analyzer中执行 这种方法比较灵活 其实是利用一个平台连接到数据库 在平台中用的主要时SQL语句 这种方法对数据库的影响小 但是如果用到远程链接服务器 要求网络之间的传输性能好 一般有两种语句:

>select into new_tablename where

>insert (into) old_tablename select from

where

区别是前者把数据插入一个新表(先建立表 再插入数据) 后者是把数据插入已经存在的一个表中 我个人喜欢后者 因为在编程的结构上 应用的范围上 第二条语句强于前者

SQL Server的复制功能

SQL Server提供了强大的数据复制功能 也是最不易掌握的 具体应用请参考相关资料 值得注意的是要想成功进行数据的复制工作 有些条件是必不可少的:

>SQL Server Agent必须启动 MSDTC必须启动

>所有要复制的表必须有主键

>如果表中有text或image数据类型 必须使用with log选项 不能使用with no_log选项

另外max text repl size选项控制可以复制的文本和图像数据的最大规模 超过这个限制的 *** 作将失败

>在要进行复制的计算机上 应该至少是隐含共享 即共享名是C$或D$…

>为SQL Server代理使用的Windows NT帐号不能是一个本地的系统帐号 因为本地的系统帐号不允许网络存取

lishixinzhi/Article/program/SQLServer/201311/22358

下面是DTS支持的一些数据库类型:

1、SQLServer。

2、Oracle。

3、MicrosoftAccess。

4、MySQL。

DTS是微软SQLServer的一个重要特性,可以用来进行数据迁移、数据转换、数据导入和导出。

以上就是关于请教高手,SQLSERVER导入数据时出现“未能创建DTS包的实例”怎么办全部的内容,包括:请教高手,SQLSERVER导入数据时出现“未能创建DTS包的实例”怎么办、在网页引用数据库的详细方法(如何引用数据库数据)、数据库sql2000版本导入数据时出现未能创建std包实例等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9673893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存