[Pljava-dev] installing and configuring pljava on XP ???

Prabhakara_Janardhan at emc.com Prabhakara_Janardhan at emc.com
Thu Apr 23 15:51:02 UTC 2009


Yes! :)

________________________________

From: Smith Roman [mailto:autisi at yahoo.com] 
Sent: Thursday, April 23, 2009 2:27 AM
To: Prabhakara, Janardhan
Cc: pljava-dev at pgfoundry.org
Subject: RE: [Pljava-dev] installing and configuring pljava on XP ???


Hi,

Well what your proposing is certainly not a painless alternative.  I
have no experience on manipulating windows registry. To be frank, I
don't know how to do what your proposing. But will reinstalling
postgresql 8.3 with the pljava option enabled do the trick ? This sounds
like a more easier option to me.


Thanks,

Smith


--- On Wed, 4/22/09, Prabhakara_Janardhan at emc.com
<Prabhakara_Janardhan at emc.com> wrote:


	From: Prabhakara_Janardhan at emc.com
<Prabhakara_Janardhan at emc.com>
	Subject: RE: [Pljava-dev] installing and configuring pljava on
XP ???
	To: autisi at yahoo.com, pljava-dev at pgfoundry.org
	Date: Wednesday, April 22, 2009, 3:36 PM
	
	
	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
	


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://pgfoundry.org/pipermail/pljava-dev/attachments/20090423/cef7175f/attachment-0001.html 


More information about the Pljava-dev mailing list