Sent from my iPhone
> --
> http://groups.google.com/group/Hardhats
> To unsubscribe, send email to Hardhats+u...@googlegroups.com
On Tue, Mar 15, 2011 at 2:59 AM, KoPa <kosta....@gmail.com> wrote:
> I'm quite new with VistA and I would appreciate if I could get some
> help or hints on converting Cache to SQL Server.
Cache is not simply a DBMS. Cache (and GT.M) provide both the
database and application execution environments. SQLServer is only a
DBMS. MUMPS-based applications are very tightly integrated with both
their data access and their application environment. SQLServer
(postgres, mysql, oracle, for that matter) are not viable alternatives
to Cache. GT.M is though.
On Wed, Mar 16, 2011 at 6:49 AM, Nancy Anthracite
<nanth...@earthlink.net> wrote:
> And you can access it with SQL queries if you want using the solution from
> Medsphere or others.
The FM Projection tool is a read-only SQL projection of the FileMan
structures into a format that can be queried using SQL syntax (and
tools compatible with MySQL). It does not convert, store, copy, or
synchronize data. It simply projects it in real time.
FM Projection: https://medsphere.org/community/project/fm-projection
Demo of it's capabilities (skip ahead, past OVID, to: 49:40):
https://medsphere.org/blogs/events/2010/06/09/vista-community-meeting-day-2
Thanks, Ben
You need to tell us exactly what you want to do. I could think of so
many answers, many paralleling what was already mentioned. But I don't
want to keep typing.
Sam
This function is Cache is similar "projection" style technology, but
more mature than the project I referenced this morning.
I believe it's been renamed... something like FM2CLASS[1] now?
- Ben
[1] http://docs.intersystems.com/documentation/cache/20102/pdfs/AFILEMAN_Conversion.pdf
The contrasting view is that there is mention that the mapping utility
enables access to file data via SQL.
and that there is mention of accessing FileMan data structures using
ODBC (which internally uses SQL)
There is also mention of verifying that you have SQL access to
generated classes.
There also seems to be a correspondence between "Property" and
"SqlFieldName" in one table.
So I guess overall, it looks like Cache has a way to map a FileMan
File to an Cache SQL Table and to a Cache Object Class, with a mapping
between the Table and Class. I also happen to know that there is a
binding between Cache Objects and Java Objects. So I guess this is a
combination of Medspheres OVID and Medsphere's FileMan Projection.
David
Yes, I think you're correct. A few clarifications (based on my
understanding) below.
On Wed, Mar 16, 2011 at 12:21 PM, David Whitten <whi...@worldvista.org> wrote:
> I believe you are correct that this link is different than the FileMan
> to SQL, as it seems to be discussing FileMan conversion to classes,
Yes, that's my understanding from Intersystems. They basically map
the FM structures to (Cache) Classes. Any Cache Class can be
"projected" into a relational DB structure. They then provide an
ODBC/JDBC endpoint for accessing all projected Classes
> So I guess overall, it looks like Cache has a way to map a FileMan
> File to an Cache SQL Table and to a Cache Object Class, with a mapping
> between the Table and Class.
My understanding (again, this all "internals" to Cache) is that it's a
two part mapping: FileMan File -> Cache Class -> "SQL Table"
(projected class accessible via ODBC/JDBC)
Medsphere's FM Projection purposefully uses MySQL as an intermediary
(for example, all the query optimization, SQL syntax parsing, etc. is
done in MySQL). So we map the FileMan Files into an external MySQL
Database (using MySQL "storage engine" API).
MySQL simply views them as tables and operates on them accordingly. So
a user can then hook-up tools to MySQL's ODBC/JDBC endpoints if they
like or query using MySQL native tools. One other thing -- the
database (that contains projected FileMan Files) can contain native
MySQL tables or tables provided by any other MySQL "storage engine" as
well -- meaning you could query across data from multiple disparate
sources all within one tool. This can be quite powerful.
- Ben
Perhaps what you want to do has another solution. If you are looking to
replace Cache on a Windows system, for instance, you could run a virtual
machine on the Windows system that hosts VistA and GTM on Linux. It doesn't
get much cheaper than that.
And you can access it with SQL queries if you want using the solution from
Medsphere or others.
You can convert a Cache database to a GTM database with some work, but not a
huge amount. I would recommend you let an expert do it, but it might be
largely done within hours with some tire kicking needed after that.
--
Nancy Anthracite
It seems that you may do well with Medsphere's FM Projection.
I have tried using Cache's FM Projection back when I worked on RPMS in
IHS, and the results were very disappointing. I couldn't do any joins.
With Medsphere's FM Projection, I have had no issues doing relational
joins. I have tried Cache's projection only on RPMS; and Medsphere's
counterpart only on VISTA. I don't think they will differ; but that's
the extent of my experience anyways.
Kosta, I have to give you the usual warning that is standard issue:
- Data retrieved from VISTA through relational means is totally
unfiltered. DO NOT attempt to produce statistics from the system
unless you validate your queries against other tools or against manual
counting.
Sam