public inbox for [email protected]  
help / color / mirror / Atom feed
Subject: [Pljava-dev] installing and configuring pljava on XP ???
Date: Wed, 22 Apr 2009 11:36:36 -0400
Message-ID: <6ECF8F2E89FB354F9D3E26F7A398842B01022485@CORPUSMX100A.corp.emc.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

The module not found is because some dependency (which is usually
jmv.dll) is not resolved.

The Windows installer has an option of installing PL/Java. If you didn't
install PL/Java while installing PostgreSQL (which was the case for me),
then the only sure shot way of getting this to work for me was to get
the pljava.dll,pljava.jar, install.sql and uninstall.sql from another
install (*with* PL/Java) - or you can download the binaries alone from
the project site - if you don't want to build PL/Java on Windows.

Also make sure that all the dependencies for pljava.dll are resolved
(and hence it can be loaded by the postgres backend) (use a tool such as
depends: http://www.dependencywalker.com/ ). Note: pljava.dll depends on
jmv.dll from the JRE installation...

To satisfy the dependency, I had to manually add an entry to the system
wide PATH variable in the registry to point to the libjava.dll :

sub updateWindowsPathVariable(){
    #print "Current Path Variable: $PATH \n\n";
    my $CHANGED = 0;
    my $PATH =
getRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
on Manager\\Environment","PATH");
    $PATH=~s/\\$//; # strip off the trailing backslash if it exists
    if($PATH !~ m/.*\\jre\\bin\\server/){
        $PATH="$JAVA_HOME\\jre\\bin\\server;".$PATH;
 
setRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
on Manager\\Environment","PATH","REG_EXPAND_SZ",$PATH);
        $CHANGED = 1;
    }
    if($PATH !~ m/.*\\db\\controldb\\bin/){
 
$PATH="$########\\db\\controldb\\bin;$#######\\db\\controldb\\lib;".$PAT
H;
 
setRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Sessi
on Manager\\Environment","PATH","REG_EXPAND_SZ",$PATH);
        $CHANGED = 1;
    }
    if($CHANGED == 1){
        my
$NEWPATH=getRegVal("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Contr
ol\\Session Manager\\Environment","PATH");
        $ENV{"PATH"}=$NEWPATH;
        #print "New Path Variable: $NEWPATH \n\n"
    }
}

sub setRegVal(){
    my $REGISTRY_KEY="$_[0]";
    my $KEY_NAME="$_[1]";
    my $KEY_TYPE="$_[2]";
    my $KEY_VALUE="$_[3]";
    system("reg add \"$REGISTRY_KEY\" /v \"$KEY_NAME\" /t \"$KEY_TYPE\"
/d \"$KEY_VALUE\" /f >NUL") == 0 or die "Cannot update reg entry:
$REGISTRY_KEY\\$KEY_NAME\n";
}

sub getRegVal{
    my $REGISTRY_KEY="$_[0]";
    my $KEY_NAME="$_[1]";
    my $KEY_VALUE;
    open(REGQUERY,"reg query \"$REGISTRY_KEY\" /v \"$KEY_NAME\" 2>&1 |")
or die "Cannot open reg query\n";
    while (<REGQUERY>){
        if(/$KEY_NAME/){
            s/REG_SZ//g;
            s/$KEY_NAME//g;
            s/\t//g;
            s/  //g;
            $KEY_VALUE=$_;
        }
    }
    close(REGQUERY);
    chomp($KEY_VALUE);
    $KEY_VALUE;
}

Finally, I had to add the section in postgresql.conf for PL/Java (I had
to script all this up).


Is this painless? I reckon not... But it works for me.

-Janardhan Prabhakara


-----Original Message-----
From: pljava-dev-bounces at pgfoundry.org
[mailto:pljava-dev-bounces at pgfoundry.org] On Behalf Of Smith Roman
Sent: Wednesday, April 22, 2009 2:27 AM
To: pljava-dev at pgfoundry.org
Subject: [Pljava-dev] installing and configuring pljava on XP ???


Hi,

I am new to PL/Java. I have spent days trying to configure pljava with
postgresql on my xp machine. I have read several guidelines or
instructions on the web but to no avail. I keep getting a C:/Program
Files/PostgreSQL/8.3/lib/pljava.dll or pljava module not found. It seems
that several programmers are having this issue. Is'nt there a sure way
of getting it to work painlessly.


I would really appreciate it if I can get help on this issue. 

Thanks,

Smith.




      

_______________________________________________
Pljava-dev mailing list
Pljava-dev at pgfoundry.org
http://pgfoundry.org/mailman/listinfo/pljava-dev





view thread (7+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Subject: Re: [Pljava-dev] installing and configuring pljava on XP ???
  In-Reply-To: <6ECF8F2E89FB354F9D3E26F7A398842B01022485@CORPUSMX100A.corp.emc.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox