2013-07-12 67 views
0

背景信息的.mdb到SQLServer的导入通过存储过程

我们需要导入的.mdb档案到我们的本地数据库,使我们可以操纵的所有数据。

DATA

该.mdb文件总是有表的相同量(58)和相同的表结构, 这些表可以具有109.000到1000万条目

实际情况

现在我们有一个Python程序可以进行迁移(称为Migrathon),它实际上已经很老了,而且速度很慢,需要超过10个小时才能将16.000个条目导入我们的本地数据库,埃安想改变它。

我有什么做的

所有我的脂肪酶的工作,使用GeneXus EVO1首先,这个工具可以从一个数据源执行SP,所以我需要什么或者我想要做的是一个过程,可以从源.MDB以一个迁移的每个表,它是进入该文件到本地数据库,在那里我操纵一切,我请

我的问题

有没有做这件事的任何机会呢?它的SQLServer2008和Access文件都是来自AC2003, 的数据结构,正如我前面所说的那样,结构总是一样的,同一个表,同名的唯一不同就是条目的数量,提前致谢

回答

0

你可以使用和OLEDB驱动程序到这样的t-sql过程:

SELECT * INTO #yourWorkTable FROM OPENDATASOURCE (‘Microsoft.Jet.OLEDB.4.0′, ‘Data Source=\\server-name\mdbs\test.mdb’)…[tableName] 

使用此查询,你有你需要的一切;只需添加一些编程来遍历表,你就完成了

+0

生病试试让你知道它是否工作 –

+0

它工作完美,我加了这个 sp_configure'show advanced options',1; 重构重写; GO sp_configure'Ad Hoc Distributed Queries',1; 重构重写; GO –

+0

您需要该代码才能运行该查询 –

0

你可以只创建一个简单的SSIS包,还是必须通过SProc完成?看起来这将是最简单的方法。

+0

您可以这样做,问题是它必须在GeneXus应用程序下,这意味着SP –

+0

GeneXus Evo 1不再支持访问文件,据我所知,他们也只是倾销他们的WIN平台,只是为了专注于WEB和MOBILE,所以即时通过我所拥有的XD努力 –