c# - 进步 4GL 和 .Net

标签 c# .net progress-4gl

我正在尝试将数据从 Progress 4GL 数据库中取出,放入 SQL Server。

理想情况下,我想直接在 .NET 中执行此操作,而不是通过 ODBC 驱动程序,因为正在进行的 ODBC 驱动程序网关不支持多核(至少在我们拥有的版本上)。

您知道如何从 .NET 连接到 Progress 4GL 数据库吗(最好是在 C# 中,但我在这里很灵活...;))?

干杯

尼克

最佳答案

如果您使用的是 Progress OpenEdge 版本 10.2 或更高版本,您可以将 .NET 控件直接嵌入到 4GL 程序中。但这就像用大锤打苍蝇一样…… 即使不是 Progress 4GL(编程语言)也是单线程的,并且不支持多线程 .NET 控件。

4GL 和 SQL-92 数据库引擎(Progress 支持 2 种不同的存储引擎接口(interface))都是多线程的,并且非常乐意利用尽可能多的内核。

但是,您可能有许可限制——“工作组”许可在 v9 和早期的 v10 中使用基于信号量的并发算法。 (后来的版本使用非常有限的互斥锁(自旋锁)。)“企业”数据库没有这样的限制。

或者目标系统可能根本没有设置为支持多个 ODBC 连接(数据库管理员应该知道,关键参数是 -Mn、-Ma 和可能的 -Mpb)。

如果我这样做,我想我会通过针对不同的数据段启动多个 session 来简单地伪造多线程访问。

关于c# - 进步 4GL 和 .Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086638/

相关文章:

c# - 如何在 C# WebBrowser 控件中获取重定向的 url

.net - 任何类似 JMockit 的 .net 框架,它甚至可以模拟静态类、私有(private)方法等

error-handling - 引发一些进行中的运行时错误4GL

progress-4gl - 如何在 Progess OpenEdge Procedure 中查询同一张表两次?

c# - 使用 Sum 方法和 Nhibernate 时集合为空时不会出现异常

c# - 洋葱架构日志记录 NHibernate

c# - 为索引查找 bool 值的更好结构?

openedge - 将 DD-MMM-YYYY HH :MM:SS. SSS 转换为进度 DATETIME-TZ

c# - Shannon-fano 编码算法 - 较大集合上的奇怪行为

.net - 如何在 ExecutionContext 中包含自己的数据