[Pgpool-general] PlPerl ODBC connect error question?

Tatsuo Ishii ishii at sraoss.co.jp
Wed Jan 5 09:10:53 UTC 2011


I'm not familiar with perl at all and cannot chase the problem. Any
one could help him?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> Can PLPerl make ODBC connect.
> I have perl test connect. It work well
> use DBI;
> my $h = DBI->connect(
>     'dbi:ODBC:DRIVER=SQL
> Server;Server=127.0.0.1;Database=TEST;Uid=sa;Pwd=abc123ABC;Port=1433',
>     'sa',
>     'abc123ABC',
>     { AutoCommit => 1, RaiseError => 1, }
> ) or die "Did not connect to db.";
> print join(',', $h->tables);
> 
> But in PLPerlu it has error
> 
> CREATE OR REPLACE FUNCTION test_connection()
>   RETURNS void AS
> $BODY$
> use DBI;
> my $dbh = DBI->connect(
>     'dbi:ODBC:DRIVER=SQL
> Server;Server=127.0.0.1;Database=TEST;Uid=sa;Pwd=abc123ABC;Port=1433',
>     'sa',
>     'abc123ABC',
>     { AutoCommit => 1, RaiseError => 1, }
> );
> 
> if ($DBI::errstr) {
>     die <<ERR;
> Could not connect to database
> $DBI::errstr
> ERR
> }
> RETURN;
> $BODY$
>   LANGUAGE plperlu VOLATILE
>   COST 100;
> ALTER FUNCTION test_connection() OWNER TO postgres;
> 
> AND when i execute function
> 
> SELECT test_connection();
> 
> Here is error
> 
> ERROR: Could not connect to database
> [Microsoft][ODBC SQL Server Driver][SQL Server]Changed database context to
> 'SMILE_FO'. (SQL-01000)
> [Microsoft][ODBC SQL Server Driver][SQL Server]Changed language setting to
> us_english. (SQL-01000) [state was 01000 now 01S00]
> [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute
> (SQL-01S00)
> SQL state: XX000
> Context: PL/Perl function "test_connection"


More information about the Pgpool-general mailing list