需要SyBase到Access端口

时间:2009-04-09 19:39:54

标签: ms-access sybase

我有一个SyBase数据库,其任务是将其导出到MS Access。这样做的最佳方式是什么?

(注意:这是半个“当我弄清楚时,我会自己回答”问题和半个“如果有人知道...”问题,所以不要去做研究,除非那是你的有趣的想法)

1 个答案:

答案 0 :(得分:3)

认为它不是从SyBase导出,而是导入到Access(Jet)。假设你有一个Access / Jet可以使用的SyBase ODBC驱动程序,那很简单:

  1. 在控制面板中|管理工具|数据源,设置指向SyBase数据库的DSN。

  2. 在Access中,创建一个新的空白MDB。

  3. 从FILE菜单中,选择GET EXTERNAL DATA。

  4. 选择IMPORT。

  5. 在对话框底部的FILES OF TYPE下拉列表中,选择ODBC数据库。

  6. 选择DSN。

  7. 应弹出SyBase数据库中的表列表。选择要导入的项目,然后单击“确定”。

  8. 如果一切按预期进行,则应导入表格。它将包括表结构和所有数据。它不包括触发器(Jet不支持),参照完整性规则,存储过程等等。我不知道你是否可以导入视图 - Access / Jet可能会将视图视为表而不是SQL,因为这肯定是通过ODBC处理它们的方式(您可以链接到视图,就像您可以链接到一张桌子)。您可以将SyBase视图的SQL直接剪切并粘贴到Access保存查询中,但Access / Jet有自己的SQL方言。

    如果将新数据库设置为使用Access UI调用的“SQL Server兼容语法(ANSI 92)”,则可能会更容易。鉴于SQL Server是旧版SyBase的分支,这可能会使SQL更加兼容。要设置此项,请在Access中转到TOOLS |选项|高级并查看右下角,选择应该是不言自明的。这并没有给你完全兼容的SQL,但它使用%/ _通配符和allow()表示派生表(而不是可怕的[]。作为Jet SQL的Alias语法)。它也可能对某些连接语法产生影响,但我不确定。

    如果您遇到问题,请回复,我们会尽力提供帮助。我没有使用SyBase进行测试,只是使用我的本地MySQL安装来通过ODBC导入,所以可能事情对你来说不会完全相同。