将 Sybase 转换为 Oracle
我们有Powerbuilder创建的ERP系统,使用Sybase SQL AnyWhere10数据库,我们的一些客户需要Oracle数据库,所以我们决定将SQL AnyWhere10转换为Oracle,并且系统有能力使用Sybase或Oracle。我需要帮助我从哪里开始?
We have ERP system created by Powerbuilder and using Sybase SQL AnyWhere10 database ,some of our customers need Oracle database ,so we decide to convert SQL AnyWhere10 to Oracle and there are ability in system to using Sybase or Oracle. I need help where do I start ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我曾经帮助完成从 Sysbase Anywhere 到 Oracle 的迁移。几乎所有脚本(如视图、函数、过程……)都需要更改。我们使用了一个自己编写的工具,连接到两台服务器,并将脚本从 Anywhere 逐字复制到 Oracle 服务器,然后我编辑了新脚本,以便可以对其进行编译。
这是一项繁重的工作,而且或多或少不可能实现自动化。
I helped doing a migration from Sysbase Anywhere to Oracle once. Nearly all scripts (like views, functions, procedures, ...) need to be changed. We used a self-written tool which connected to both servers and copied the scripts verbatim from Anywhere to Oracle server, then I edited the new script so that it was possible to compile it.
It is a lot of work, and more or less impossible to automate.
之前曾在一个不平凡的 PowerBuilder 项目(45 个 PBL,约 3000 个对象)上完成过此操作,这是一项艰巨的任务。一个由 3-4 名开发人员和一名专门的 DBA 组成的团队花了一年多的时间才将我们的项目转换为 Oracle,并且没有造成太大的破坏。
您提到在 SQL Anywhere 或 Oracle 上运行。两者在方式上有很大不同,这会让你疯狂地尝试提供相同的功能。正如 @DisplacedGuy 提到的,触发器、临时表的使用和数据类型差异至少需要注意。我最后一次经常使用 Oracle 是在 v8 中;它为嵌入式 SQL 返回数据的方式与 Sybase 不同。根据 DWO 中使用的构造,您可能必须使用动态 DW、维护单独的库,或者添加一个完全隔离的数据访问层(如果您还没有)。
我的建议是,如果可以的话,聘请一个已经做过这件事的人来指导你。计划时间&训练你的人的钱。
祝你好运。
Having done this before on a non-trivial PowerBuilder project (45 PBLs, ~3000 objects), this is a BIG task. It took a team of 3-4 developers and a dedicated DBA the better part of a year to convert our project to Oracle and not break things too badly.
You mention running on either SQL Anywhere or Oracle. The two are very different in ways that will make you crazy trying to provide equivalent function. As @DisplacedGuy mentions, triggers, temp table usage, and datatype differences at a minimum will require attention. I last used Oracle regularly in v8; the way it returns data for embedded SQL is different from Sybase. Depending on the constructs used in your DWOs, you may have to go to dynamic DWs, maintain separate libraries, or add a completely isolating data access layer if you don't already have one.
My suggestion is to hire someone who's done this already to guide you, if you can. Plan time & money for training your folks.
Good luck.