
		Frequently Asked Questions for Oraperl
		______________________________________


What is Oraperl?
----------------
According to Buzz Moschetti, "Oraperl sounds like a denture cleaner".
For the rest of us, it's a version of Perl which has been extended to
manipulate Oracle databases.


Is Oraperl public domain, shareware, or what?
---------------------------------------------
Oraperl is Freeware; that is, it's author retains copyright (so it isn't
public domain) but allows free distribution, under the same terms as
Perl. It isn't shareware, because you don't have to pay to use it.


How can I contact the author?
-----------------------------
Unfortunately, I do not have access to the net at present. If you have
problems with Oraperl, your best bet is to send a message to either
comp.lang.perl or comp.databases.oracle, depending on whether the
problem seems to relate to Perl or to Oracle. A number of Oraperl users
hang out on both groups, so you may be able to get an answer there.

If you really need to contact me, you can write to me at the address
below. I don't have access to a system running Oracle at present, so I
will only be able to give limited. Please include an International Reply
Coupon if you want a reply.

	Kevin Stock
	5 rue de la Liberation
	78660 ABLIS
	France


Will Oraperl run on my system?
------------------------------
At present, Oraperl is known to run on the following systems:

	Amdhal UTS
	Convex
	Encore Multimax, Oracle v6.0.27, Perl 3.0.27 - 4.0.36
	NeXT
	Prime EXL MBX Sys V.3.1, Oracle 6.0.26
	Pyramid (ATT Universe),
	MIPS (SysVr4)
	Sparcstation
	Sperry 500/80 Sys V.3.1, Oracle v5.1, Perl 4.0.3
	Sun 4/280, Oracle 6.0.30
	SunOS 4.1.1
	Ultrix, Oracle v5

but if you can build Perl, you can almost certainly build Oraperl.

Oraperl is distributed as source, so you build it yourself (or get a
friendly system administrator to do it). You need the following on your
system to build it:

	C compiler
	Perl source
	Oracle Call Interface (part of the Pro*C package)


Will Oraperl work with {Dbase, Informix, Ingres, Interbase, Sybase, ...}
------------------------------------------------------------------------
No. Versions of Perl do exist for some of these databases; ask in
comp.databases or comp.lang.perl for help. A project is under way to
create a unified programming interface for all SQL databases, but
there's a lot of work to do before it is available.


Where can I get Oraperl?
------------------------
Oraperl version 2 appeared in the comp.sources.misc newsgroup as
follows:

	v30i087-091	Part 01-05	29th June 1992
	v30i099		Patch 01	6th July 1992
	v32i093		Patch 02	4th October 1992
	v34i021		Patch 03	12th December 1992

You should be able to find it at any comp.sources.misc archive site.
One such site in the US is wuarchive.wustl.edu [128.252.135.4]. Look in
the directory /usenet/comp.sources.misc/volume30/oraperl-v2.

You also need the Perl sources. These are also in the comp.sources.misc
archives. Contact Larry Wall <lwall@netlabs.com> if you need help
finding them.


I tried building Oraperl, but cc says "Redeclaration of sprintf in perl.h"
Oraperl compiled OK, but the tests dump core
Oraperl compiled and seems to run OK, but I don't get any output
Oraperl compiled OK, but {something weird} happens
--------------------------------------------------------------------------
You are probably running a dual universe ATT/BSD system and you
configured Perl under BSD. Oracle programs have to be built under the
ATT universe, so you will have to create an ATT version of uperl.o to
link to Oraperl.  Copy the Perl sources to a different directory and
build uperl.o there.


I tried building Oraperl, but cc says "Undefined: _my_setenv"
-------------------------------------------------------------
You are running an old version of Perl, which doesn't have my_setenv().
If possible, you should upgrade to the latest version. If you can't do
so, you could try adding one of the following to the start of orafns.c:

If your system uses  setenv(var, value) :

	#define	my_setenv(var, value)	set_env(var, value)

If your system uses  putenv(envstring) :

	void my_setenv(var, value)
	char *var, *value;
	{
		static char *envstr = NULL;

		if (envstr == NULL)
		{
			if ((envstr = (char *) malloc(1024)) == NULL)
			{
				return;
			}
			else
			{
				sprintf(envstr, "%s=%s", var, value);
				putenv(envstr);
			}
		}
		else
		{
			sprintf(envstr, "%s=%s", var, value);
		}
	}


When I try to build Coraperl, I get messages about undefined functions
----------------------------------------------------------------------
You are probably trying to link Oraperl with the BSD curses routines.
If you are on a dual universe system, you should use the ATT routines.

If you are on a BSD-only system, then you need to modify the file
bsdcurses.mus in $(SRC)/usub. You should  #ifdef  out the references to
testcallback .


Whenever I try to fetch a DATE or ROWID field, I get a truncation error
-----------------------------------------------------------------------
This is due to a bug in early versions of Oraperl. You should upgrade to
the latest version.

If you cannot upgrade, you may be able to work round the problem with
DATE fields by calling the SQL function TO_CHAR() in your SELECT
statement.
