2009-10-16 72 views
0

我想将一些sql server 2k的数据发布到msaccess数据库。 我想要做的是给定一个表提供datatransformation信息,例如:如何将表从sql server导出到ms上访问?

tablenameOnServer | pathToPub 
------------------------------------------------------ 
Clients    | D:\Data\Pub1\ClientData1.mdb 
Orders    | D:\OtherData\Pub\Sales.mdb 

给定的mdb文件应创建(或课程的空单拷贝)和表应在每次​​创建脚本运行。

我当然不需要一个完整的解决方案,但一些指针作为从哪里开始非常受欢迎。我以为我会使用SSIS对于这一点,但我新给它,我想知道在哪里开始最好的,以避免时间损耗太大:

  • 我是否使用SSIS与出价(VS2008)我可以读取数据包中的数据并快速创建表格吗?
  • 我是否使用C#并在代码中操作和创建包?
  • 或我最擅长做什么?无论如何SSIS是明显的解决方案吗?

在任何情况下:一些指针,让我开始会很受欢迎...

更新:这个问题是关于发布数据,因此它可以在CD运为例。这不是关于链接到一个SQL服务器。

回答

0

最简单的解决方案是在访问中简单地链接sql server表。然后你可以实时看到数据。

+0

对链接sql表+1。如果不需要,不要创建另一个数据库。 – bastianneu 2009-10-16 15:23:34

+0

他们必须根据表格的内容创建,我希望我明确表示。 – Peter 2009-10-16 15:24:17

+0

@batianneu:我当然必须在查询链接表时发布 – Peter 2009-10-16 15:24:50

0

您可以创建一个Access数据库来很容易地完成此操作。

这是一个基本的算法

  • 中访问,创建链接表指向你的表。
  • 根据您的标准叫NewQuery
  • 使用VBA来创建新的数据库NEWDB
  • ,结构和列创建NewQuery出口到NEWDB
+0

这似乎有些过分简化,因为我只有一个链接tabel到我的信息表,并且仍然需要以编程方式链接给定'tablenameOnServer'的所有其他表,但是如果没有其他内容出现,它的值得一试。如果一切顺利,我会让你知道并接受你的答案。 tx – Peter 2009-10-16 15:41:11

+0

您可以以编程方式链接VBA中的表 – 2009-10-16 16:23:59

0

如果你想保持创建Access查询过滤数据SSIS包,我会创建一个模板SSIS包,然后使用C#中的SSIS对象创建包。我已经做到了这一点,以开始后来定制的软件包。另外,如果你不打算在生成它们之后保留这些包并且不打算使用很多SSIS特性(记录等),我会考虑从C#(或其他语言),因为SSIS不是连接管理器(源或目的地)发生变化的理想工具。

从C#开始,您可以简单地读取模式,使用匹配的类型和列在Access中创建表并填充它。