有人知道如何在不使用KBSQL -ODBC的情况下使用C#查询MUMPS数据库吗?
我们需要查询MUMPS数据库(Mckesson STAR患者护理),当我们使用KBSQL时,它被限制为6个并发用户。因此,我们尝试不使用KBSQL直接查询MUMPS。
我期待着像LINQ TO MUMPS这样的东西。
发布于 2009-11-08 03:28:55
我认为Mckesson使用Intersystems的Cache作为其mumps (M)提供商。缓存支持.Net (请参阅文档here)。Jesse Liberty在使用C#、.Net和Windows Forms作为缓存数据库的前端方面有相当好的article。
我不确定LINQ (我在这里不是专家),但这可能会给你一个想法,让你从哪里开始完成你的项目。
迈克尔
发布于 2009-09-11 19:15:29
首先,我也能感受到你的痛苦。几年前,我有过一次在MagicFS/Focus中进行开发的不幸经历,我们对关系查询支持也有完全相同的要求。为什么人们总是想要他们得不到的东西?
无论如何,如果您使用的MUMPS版本类似于MagicFS/Focus,并且您可以访问包含“数据库”(平面文件)的文件系统,那么一种可能的方法是:
诚然,第一步说起来容易做起来难,如果您正在尝试动态构建XML文件,则可能会更加困难。其变体将是经由夜间服务器进程等来管理诸如索引的XML文件的生成。
如果你只打算以特定的方式查询(即我想在ID上连接Foo和Bar表,这就是我想要的全部),我会考虑将这些数据拉入并缓存到服务器端的C#集合中,完全跳过查询(或者使用WCF或like拉出这些数据,然后进行LINQ查询)。
发布于 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异步调用以避免阻塞用户交互是一种很好的设计实践。
https://stackoverflow.com/questions/1357093
复制相似问题