Sql server 2008 SQL Server 2008是否从ADO.NET提供程序导入架构和数据?

Sql server 2008 SQL Server 2008是否从ADO.NET提供程序导入架构和数据?,sql-server-2008,ado.net,Sql Server 2008,Ado.net,我试图弄清楚如何让SQL Server 2008使用ADO.NET提供程序的模式导入数据。在本例中,您可以使用数据库导入向导并选择我正在使用的任何ADO.NET提供程序VistaDB。但一旦转到实际导入,一个或多个表中的复制数据将变灰。您只能编写查询。我想复制整个数据库架构和数据 我在联机帮助中找到了一些参考,默认情况下只有Microsoft提供商可以使用它,并且您必须为第三方构建自定义描述符。然后,帮助会指向:\Program Files\Microsoft SQL Server\100\DT

我试图弄清楚如何让SQL Server 2008使用ADO.NET提供程序的模式导入数据。在本例中,您可以使用数据库导入向导并选择我正在使用的任何ADO.NET提供程序VistaDB。但一旦转到实际导入,一个或多个表中的复制数据将变灰。您只能编写查询。我想复制整个数据库架构和数据

我在联机帮助中找到了一些参考,默认情况下只有Microsoft提供商可以使用它,并且您必须为第三方构建自定义描述符。然后,帮助会指向:\Program Files\Microsoft SQL Server\100\DTS\ProviderDescriptors以供目录查找。查看XML文件似乎需要对所有模式和定义加载进行SQL查询。为什么不能通过所有ADO.NET提供程序都必须实现的GetSchema调用来加载它们?那对我来说毫无意义

然后,我发现您可以从任何ADO.NET提供程序获取SQL Server中DTS包中的所有模式。我写的最后一个DTS包大约是10年前。看着2008年的版本,我完全不知所措。如何获得DTS包来加载整个数据库架构并将其导入SQL Server


或者,我是不是想得太多了,还有更简单的方法呢?

好的,我最终创建了两篇关于这个主题的博客文章,专门用于使用SQL Server工具从VistaDB迁移到SQL Server。这是非直观的,您必须使用SSIS,没有其他方法

-主要是关于使用默认向导的信息,但我不推荐使用。它一次只能做一个表,设置起来很痛苦。除了SQL Server Standard或更高版本的express无法执行此操作外,您还不能使用任何其他工具重复运行此操作

-本文中的大部分内容适用于任何ADO.NET提供程序。我从mySQL专家、DB2和其他人那里找到了部分信息。我只是为VistaDB用户准备了这一切

有趣的是,我花了3.5个小时通过SSIS构建了一个11表数据库的迁移。这个过程非常痛苦,有很多点击步骤,让我疯狂地使用高级编辑,而不是普通编辑。完成整个SSIS包安装后,运行大约需要2分钟。然后理论上我可以随时重新运行它。但在我的例子中,我只想移动数据和结构一次。安装需要很多时间

然后,我编写了一个简单的应用程序来遍历我所有的表,并输出可以从sqlcmd运行的SQL语句。编写该应用程序大约需要1.5小时,执行时间约为10秒。但是sqlcmd一次运行所有这些语句几乎花了一个小时

我可能会构建一个反向的数据迁移向导,它会从SQL Server复制到VistaDB中。您只需单击7次就可以迁移数据库,运行需要几秒钟。所有数据访问都是通过对ADO.NET提供程序的GetSchema调用进行的