首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从asp.net/C#查询MUMPS

从asp.net/C#查询MUMPS
EN

Stack Overflow用户
提问于 2009-08-31 11:51:59
回答 5查看 3.5K关注 0票数 4

有人知道如何在不使用KBSQL -ODBC的情况下使用C#查询MUMPS数据库吗?

我们需要查询MUMPS数据库(Mckesson STAR患者护理),当我们使用KBSQL时,它被限制为6个并发用户。因此,我们尝试不使用KBSQL直接查询MUMPS。

我期待着像LINQ TO MUMPS这样的东西。

EN

回答 5

Stack Overflow用户

发布于 2009-11-08 03:28:55

我认为Mckesson使用Intersystems的Cache作为其mumps (M)提供商。缓存支持.Net (请参阅文档here)。Jesse Liberty在使用C#、.Net和Windows Forms作为缓存数据库的前端方面有相当好的article

我不确定LINQ (我在这里不是专家),但这可能会给你一个想法,让你从哪里开始完成你的项目。

迈克尔

票数 4
EN

Stack Overflow用户

发布于 2009-09-11 19:15:29

首先,我也能感受到你的痛苦。几年前,我有过一次在MagicFS/Focus中进行开发的不幸经历,我们对关系查询支持也有完全相同的要求。为什么人们总是想要他们得不到的东西?

无论如何,如果您使用的MUMPS版本类似于MagicFS/Focus,并且您可以访问包含“数据库”(平面文件)的文件系统,那么一种可能的方法是:

  1. 将平面文件导出为XML文件。为此,您必须使用MUMPS或您选择的语言从平面文件中手动发出XML。尽管这听起来很痛苦,但由于您可能不想手动确定当前记录,因此流行性胃炎可能是可行的。
  2. 使用LINQ to XML
  3. Run LINQ查询读取

诚然,第一步说起来容易做起来难,如果您正在尝试动态构建XML文件,则可能会更加困难。其变体将是经由夜间服务器进程等来管理诸如索引的XML文件的生成。

如果你只打算以特定的方式查询(即我想在ID上连接Foo和Bar表,这就是我想要的全部),我会考虑将这些数据拉入并缓存到服务器端的C#集合中,完全跳过查询(或者使用WCF或like拉出这些数据,然后进行LINQ查询)。

票数 3
EN

Stack Overflow用户

发布于 2011-11-07 23:48:19

通过将数据库连接与应用程序实例分离,可以避免6个用户的限制

通过中间层(应用程序中的DAL )或单独的服务(windows服务)使用KB/SQL ODBC。

该组件最多可以使用6个单独的线程与MUMPS数据库通信(符合KB/SQL限制)。

该组件可以使用ADO.NET for ODBC与KBSQL ODBC驱动程序进行通信。然后,您可以使用LINQ for ADO.NET使用您的应用程序中的数据。

您可能需要使用像MSMQ这样的排队系统来管理数据请求的排队。如果6个并发连接不足以满足请求量。将请求排队并使用LINQ异步调用以避免阻塞用户交互是一种很好的设计实践。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1357093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档