tags:

views:

410

answers:

5

Hi, Does any body know how to query from MUMPS database using C# without using KBSQL -ODBC?

We have requirement to query from MUMPS databse( Mckesson STAR Patient care) and when we use KBSQL it is limited for 6 concurrent users.So we are trying to query MUMPS directly without using KBSQL.

Iam expecting something like LINQ TO MUMPS...

Thanks in Advance for your valuable time.

Porhills

A: 

What vendor and version of MUMPS are you using? The solution will undoubtedly be dependent on the vendor's api they have exposed.

Overloaded Constructor
Hi, Our vendor is Mckesson.
porhills
+1  A: 

First off, I too feel your pain. I had the unfortunate experience of developing in MagicFS/Focus a couple of years back, and we had the exact same request for relational query support. Why do people always want what they can't have?

Anyway, if the version of MUMPS you're using is anything like MagicFS/Focus and you have access to the file system which holds the "database" (flat files), then one possible avenue is:

  1. Export the flat files to XML files. To do this, you'll have to manually emit the XML from the flat files using MUMPS or your language of choice. As painful as this sounds, MUMPS may be the way to go since you may not want to determine the current record manually.

  2. Read in the XML using LINQ to XML

  3. Run LINQ queries.

Granted, the first step is easier said than done, and may even be more difficult if you're trying to build the XML files on the fly. A variant to this would be to manage generation of the XML files like indexes, via a nightly server process or the like.

If you're only going to query in specific ways (i.e. I want to join Foo and Bar tables on ID, and that's all I want), I would consider instead pulling and caching that data into server-side C# collections, and skip querying altogether (or pull those across using WCF or like and then do your LINQ queries).

emptyset
A: 

I am new to Mumps, but have been using .Net for roughly 6 years. (COBOL before that)

When you say pull the records across using WCF, can you do that if the mumps database is on a Linux server? Our web application needs to query, in real time, the data stored there.

We have the KB SQL M21 for ODBC connections (I did not know there was a connection limit) and currently from the web, we use Intersystems Cache. I am so new to this that I'm not sure I'm saying that right. But, the issue we face is whether to upgrade to Insersystems newest version or eliminate it completely.

If I can connect with .Net, that would be my confort zone, but I'm not sure that's possible.

Any thoughts would be helpful.

Linda
+1  A: 

I think Mckesson uses Intersystems' Cache as its mumps (M) provider. Cache has support for .Net (see the documentation here). Jesse Liberty has a pretty good article on using C#, .Net and Windows Forms as the front end to a Cache database.

I'm not sure about LINQ (I'm no expert here), but this might give you an idea as to where to start to get your project done.

Michael

igotmumps
+1  A: 

i dont know anyone with mumps but i think if i did i would send them to a doctor.....

unknown