从 PROGRESS 迁移到 SQL Server 2008 - 如何?
我面临着一个不知道如何继续的任务:将 120 GB 数据库从 PROGRESS 迁移到 SQL Server 2008。
坦率地说,我什至从未听说过 PROGRESS,并且无法真正理解他们的网络我拥有的是一个文件夹 restore
,其中包含 128 个名为 dbqsXXX
的文件,其中 XXX 从 1 到 128 - 每个文件大小为 1 GB。
我不知道 PROGRESS,我没有任何可用的 PROGRESS 服务器 - 我是否希望能够将这些文件中的数据获取到 SQL Server?
另外:我尝试查找 ODBC 驱动程序,并找到了一个(名为 SequeLink ODBC 4.51),但我无法安装它,因为它不喜欢我的 Win7 x64 机器:-( 在 PROGRESS 网站上本身,我似乎找不到任何可供下载的 ODBC 驱动程序 - 只能花费 $$$$$$
那么 - 我的选择是什么?
- 有类似“PROGRESS Express”或“免费”或“开发人员”版本的东西吗 ?我可以通过其他方式访问我的“恢复”目录中的这些 dbqs 文件吗
- ?它们似乎至少部分是二进制的 - 没有 CSV 或 XML 或类似的东西......
- 我可以找到可用的 ODBC 或 OleDB 驱动程序吗 ?这将在我的 Win7 x64 机器上运行,并允许我创建一个到 PROGRESS 数据库的链接服务器
- ?平易近人的格式,如 MySQL 或 PostgreSQL 之类的?
任何提示、技巧、网站、网络广播都非常受欢迎!
I'm faced with a task I don't know how to proceed with: migrate a 120 GB database from PROGRESS to SQL Server 2008.
I've quite frankly never even heard of PROGRESS and can't really make much sense of their web site either.... what I have is a folder restore
with 128 files called dbqsXXX
where XXX goes from 1 through 128 - each file is 1 GB in size.
I don't know PROGRESS, I don't have any PROGRESS server available - is there any hope I can get the data out of these files into SQL Server??
Also: I tried to find ODBC drivers, and I found one (called SequeLink ODBC 4.51), but I cannot install it since it doesn't like my Win7 x64 machine :-( And on the PROGRESS site itself, I cannot seem to find any ODBC driver for download - only stuff that will cost $$$$$$
So - what are my options??
- is there something like a "PROGRESS Express" or "Free" or "Developer" version available?
- can I access those dbqs files in my "restore" directory some other way?? They appear to be at least partly binary - no CSV or XML or anything like that.....
- can I find a useable ODBC or OleDB driver that will work on my Win7 x64 machine and allow me to create a linked server to the PROGRESS db?? (worked fine with MySQL a while ago)
- can I (or my customer) somehow dump the structure and data from PROGRESS into another, more approachable format, like MySQL or PostgreSQL or something??
Any hints, tips, website, webcasts are most welcome !!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一个可用的评估套件:http://communities.progress.com/pcom/docs/ DOC-103695
这可能对您有帮助,也可能没有帮助,具体取决于您实际拥有的文件是什么。如果它们是数据库最新版本的完整且未损坏的副本,那么评估工具包应该能够打开它们。
然而,数据库可能已受到保护,无法进行此类访问。在这种情况下,除非您能从控制它们的人那里获得凭据,否则您可能会运气不佳。
话虽如此,您对文件名的描述听起来不像实际的数据库。数据库盘区通常命名为 dbname.db、dbname.b1、dbname.d1、dbname.d2 等。如果使用存储区域配置数据库,则许多盘区将命名为 dbname_##.d#。
您的文件听起来更像是“备份范围”。换句话说,它们是某人进行备份并将其写入 1GB 块的结果。要恢复此类备份,您需要一个文本文件,其中列出了除第一个之外的所有这些“范围”。然后,您将执行以下命令:
prorest dbname extent1 < filelist
(使用“proenv”快捷方式获取正确配置的命令窗口。)
一旦执行此操作,您将拥有一个实际的数据库。 (如果备份是通过压缩进行的,则恢复的数据库可能比您的文件大得多。)
Prorest 不向后兼容。因此,如果备份是 v9 数据库,则 v10 评估套件将无法工作。您需要找到一台具有与备份相同版本的 Progress 的计算机。 (%DLC%\bin\91dbutils 文件夹中有 v9 实用程序。83dbutils 中也有 v8。理论上,您可以使用它们来恢复旧版本的备份并升级到当前版本。实际上使用这些实用程序是“具有挑战性的” .)
给定一个实际的数据库,您可以使用“proserve”启动服务器,连接到它并享受乐趣。但目前尚不清楚是否有必要深入了解这样做的细节。
There is an evaluation kit available: http://communities.progress.com/pcom/docs/DOC-103695
This may, or may not, help you depending on what those files that you have actually are. If they are a complete and uncorrupted copy of a recent version of the database then the evaluation kit should be able to open them.
It is, however, possible that the database has been protected from such access. In which case you could be out of luck unless you can obtain credentials from whoever controls them.
Having said that -- your description of the file names does not sound like an actual database. Database extents are usually named something like dbname.db, dbname.b1, dbname.d1, dbname.d2 etc. If the db was configured using storage areas many of the extents will be named dbname_##.d#.
Your files sound more like they are "backup extents". In other words they are the result of someone making a backup and writing it in 1GB chunks. To restore such a backup you need a text file that lists all of these "extents" except for the first one. You would then execute the following:
prorest dbname extent1 < filelist
(Use the "proenv" shortcut to get a properly configured command window.)
Once you do that you would have an actual database. (If the backup was made with compresssion the restored db is likely to be a lot bigger than your files.)
Prorest is not backwards compatible. So if the backup is a v9 database the v10 evaluation kit won't work. You would need to find a machine with the same version of Progress that the backup was made with. (There are v9 utilities in the %DLC%\bin\91dbutils folder. Ditto v8 in 83dbutils. In theory you could use those to restore a backup of an old version and upgrade to a current version. Actually using those utilities is "challenging".)
Given an actual database you can then start a server with "proserve", connect to it and have fun. But right now isn't clear if there's any point to getting into the details of doing that.