[comp.sys.mac.hypercard] database access in SuperCard

pjzg1012@uxa.cso.uiuc.edu (Peter J Ziemkowski) (07/19/90)

HELP!  I need to access a database from within another application.  In this 
case SuperCard 1.5.  I've heard of HyperHit.  Anybody ever use it?  Talk to
me.

I've also read about the new 4D Externals kit from Acius.  One review said 
something like "It gives access to the 4D database engine from within a 
high-level programming language."  Another said that it was only to be used
to write 4D externals (so that it wouldn't work from another application's 
space).  Who's right?  

I've also heard that Oracle has some sort of Hypercard Interface.  Has 
anybody ever used that?

If you think this is a pretty obscure problem (and don't want to waste net
bandwidth for it) email me and I'll summarize and post to the net.

(My vi is flipping out, so any misspellings above are not necessarily my 
fault.)

Thanks.
Pete.

bc@Apple.COM (bill coderre) (07/19/90)

(Peter J Ziemkowski) writes:
|HELP!  I need to access a database from within another application.

There's a growing market of database drivers callable from Hypercard
X's and other programming languages. One I've been using recently that
is extremely good is Answer Software's HyBase.

It's VERY object-oriented, in that it can have stored procedures
(compiled) associated with data types, automatically invoked as needed
(for example, data coersion), in a fairly interesting programming
language of its own, called STRETCH.

HyBase is also the only Macintosh database that has SQL support, so if
you plan on running multi-platform with big, expensive, server-style
databases, you could engineer some portability. (HyBase's SQL is about
the level of ANSI SQL.)

Since you can have custom data types with built-in methods,
programming vertical-market database applications (such as a
standalone "dentist office" package -- a common example) is greatly
eased. Since you have Hypercard for a front-end, customization is
quick and easy, and you don't have to deal with peculiarities of
programming languages and compilation methods.

Hybase also provides a good browser that provides full features and
full functionality, unlike (say) a debugger.

Hybase has just about every good computer science idea packed into it.
It's fun to dance to. I'll give it a 9.

bc@Apple.COM (bill coderre) (07/20/90)

I wrote:
>	HyBase is also the only Macintosh database that has SQL support...

...Which is incorrect. Oracle for Macintosh has SQL support.

Also, some transaction-oriented database servers also provide Mac and
Hypercard drivers. (Translation: Big database engines that run on
separate computers, often minis and mainframes, to which one can send
SQL over a network to be processed, are now providing Macintosh
drivers for inclusion in programs, and are even providing Hypercard
X's.)

But hey, HyBase is still cool. They're the garage heroes. 

bill coderre
"just a consultant, not a spokesperson"

chuq@Apple.COM (That's MR. Idiot to you) (07/20/90)

bc@Apple.COM (bill coderre) writes:

>HyBase is also the only Macintosh database that has SQL support, so if
>you plan on running multi-platform with big, expensive, server-style
>databases, you could engineer some portability. (HyBase's SQL is about
>the level of ANSI SQL.)

That's not close to true. Oracle has a hypercard interface for its database.
And Apple's Data Access Language (was CL/1) also has an interface to five
VMS-based and two IBM-based SQL systems using a common front end. DAL also
has C and Pascal APIs if you want to do embedded things in those languages
as well.


-- 

Chuq Von Rospach   <+>   chuq@apple.com   <+>   [This is myself speaking]

We tend to idealize tolerance, then wonder why we find ourselves infested 
with losers and nut cases -- Patrick Nielsen Hayden

chuq@Apple.COM (That's MR. Idiot to you) (07/20/90)

chuq@Apple.COM (That's MR. Idiot to you) writes:

>And Apple's Data Access Language (was CL/1) also has an interface to five
>VMS-based and two IBM-based SQL systems using a common front end. DAL also
>has C and Pascal APIs if you want to do embedded things in those languages
>as well.

Oh, and one other quick note. DAL is the basis for the Data Access Manager
that will be standard in system 7.0. DAL code will be upwardly compatible
with the 7.0 stuff, too.

-- 

Chuq Von Rospach   <+>   chuq@apple.com   <+>   [This is myself speaking]

We tend to idealize tolerance, then wonder why we find ourselves infested 
with losers and nut cases -- Patrick Nielsen Hayden

bc@Apple.COM (bill coderre) (07/20/90)

Chuq:
|That's not close to true. Oracle has a hypercard interface for its database.
|And Apple's Data Access Language (was CL/1) also has an interface to five
|VMS-based and two IBM-based SQL systems using a common front end. DAL also
|has C and Pascal APIs if you want to do embedded things in those languages
|as well.

Let me try again. If you want a Macintosh database (that runs
completely on your mac, NOT a server), Oracle for Mac and Hybase both
have SQL support. Others might, but I haven't heard.

If you want a Mac interface to a mainframe database, there are, to use
the technical term, drillions. Hell, I wrote some.

But all this is neither detritus nor screed.

cameron@kirk.nmg.bu.oz (Cameron Stevenson) (07/21/90)

From article <1990Jul19.035636.14352@ux1.cso.uiuc.edu>, by pjzg1012@uxa.cso.uiuc.edu (Peter J Ziemkowski):
> HELP!  I need to access a database from within another application.  In this 
> case SuperCard 1.5.  I've heard of HyperHit.  Anybody ever use it?  Talk to
> 
> I've also heard that Oracle has some sort of Hypercard Interface.  Has 
> anybody ever used that?

Yes, Oracle do provide a Hypercard interface through an XCMD (part of the
Oracle for Macintosh product). We have been using this product (Oracle) for
about a year now and find it great.

Some of the features/limitations:

1. HyperCard becomes a front-end for the database. This allows interaction
with a full RDBMS in totally new ways; data takes on whole new meaning. For
instance, building graphic related displays based on information from the
database is quite easy.

2. The Oracle engine does not need to reside on the Mac. In other words, there
is little change in the HyperCard side of things to get at data that may be
residing on a central database (a mainframe running Oracle holding corporate
information, etc.). You just log into the remote database (through HyperCard)
and Oracle network drivers take over. From there all calls to the database
are the same as if you were using your local database; they're just sent over
the network, and come back the same way.

3. Oracle claim that it is possible to extend that network capability further
and relate remote data to local data (ie. hold personnel data in the central
database, and rooms that people occupy in your local database, and issue a
query like "select all people who will have a birthday next week, who are in
offices on the third floor of this building). We haven't tried this so I can
only relate what I've been told...

4. Along the same lines, Oracle claim that it is possible to use the Oracle
for Macintosh product as a front-end for other brand databases. Those
mentioned in the brochure include DB2 and SQL/DS. Don't know what these
products are or if it works...

5. And the downside is that the product is not cheap (~$2000AUS), and requires
at least 2mb of RAM. We have found that 2.5mb is a more realistic minimum, and
4-5 is comfortable. This is because HyperCard takes an obligatory 1mb
(Supercard takes more I gather), and Oracle steals 700k at startup time. That's
damn near 2mb before you have your system stuff, and all the rest...

On the whole though, this is a very powerful product. The database engine is
the same as the engine Oracle use on their other platforms. In other words
it is a full RDBMS, as close as you can get to an industry standard, is very
robust, and has all sorts of security features built-in. This is not to say
that it is what you may be after, but thought you might like to know about it.

Cameron Stephenson                        Telephone  +61 75 951220
Bond University
Gold Coast    Australia