Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

itg00022289

PostgreSQL / PostGIS - DBI-Link

Recommended Posts

Olá


Eu pretendo instalar o DBI-Link no PostgreSQL / PostGIS.

É numa máquina com Windows 64-bit. (não posso mudar isso).


Como eu entendo, preciso para instalar Active Perl primeiro na minha máquina, o que fiz.

No entanto, quando vou criar uma nova extensão (plperlu ou plperl) no PostgreSQL dá-me um erro como

"Não é possível carregar biblioteca: c: \ Program Files \ PostgreSQL \ 9,2 \ lib plperl.dll \".


Eu verifiquei e o ficheiro plperl.dll existe naquela localização exata.


Investiguei e o problema poderia estar relacionado com a versão do Active Perl instalado (que era a mais recente) e recomendam a instalação da versão 5.10, o que eu fiz. No entanto só encontrei a versão para 32 bits, que instalei.


(ActivePerl-5.10.1.1008-mswin32-x86-294165.msi - advanced-SHORTURL-perl pidgin - ActivePerl 5,10 - Avançado SHORTURL em Perl para o Pidgin - Google Project Hosting)



1 - Parece-vos que o erro indicado pode ter a ver com o facto de estar a usar a versão de 32 bits do Active Perl?


2 - Se sim, alguém sabe onde eu posso obter a versão do Active Perl 5.10 64 bits?


Eu não tenho muitos conhecimentos de informática por isso posso estar a fazer algum um erro básico que está impedindo a instalação da DBI-Link no PostgreSQL.


Gostaria muito da vossa ajuda, porque estou preso à vários dias com este problema e não sei como resolvê-lo ...


Desde já agradeço a disponibilidade,

Pedro

Compartilhar este post


Link para o post
Compartilhar em outros sites

se vc instalar o DBI LINK avisa ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para já, com a tua ajuda, consegui resolter o problema que tinha há várias semanas (criar no PostgreSQL a extensão plperlu).

Tinha inclusive contactado o próprio criador do DBI-Link (David Fetter), que não sabia a causa do erro.

 

Agora então vou começar uma nova guerra e tentar instalar o DBI-Link.

O meu objectivo final é conectar o PostegreSQL com o Informix.

 

Uma vez mais agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um tutorial de como instalar certinho a pl do perl e do dblink :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe já um bom tutorial em português de instalação do DBI-Link em Linux:

http://keniamilene.wordpress.com/2008/05/29/instalando-e-implementando-dbi-link-no-postgresql/

 

O autor da ferramenta também tem uma espécie de tuorial para Linux em:

http://www.pgcon.org/2008/schedule/attachments/49_BSDCan2008-DBI-Link.pdf

 

em windows é que não vejo nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

e pra windows?

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui instalar o dbi link, pore na consulta da erro.

 

 

SELECT dbi_link.make_accessor_functions(
    'dbi:mysql:database=teste;host=localhost',
    'root',
    'root',
    'AutoCommit: 1, RaiseError: 1',
    NULL,
    NULL,
    NULL,
    'test'
);

 

ERRO: valor para domínio yaml viola restrição de verificação "yaml_check"
SQL state: 23514

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também não consegui ainda passar da instalação do DBI-Liink...

 

 

O erro que me dá é diferente desse.

 

 

 

SELECT make_accessor_functions(

"dbi:Informix:dbname=sga_lousa_021112;host=srvlbd02_net@srvlbd02;port=1526"

, "informix" /* User */

, "password" /* Password */

, "{AutoCommit=>0, RaiseError=>0, PrintError=>0}" /* Attributes */

, "needs_help_schema" /* External Schema */

, NULL /* External Catalog */

, "needs_help" /* Local Schema */

);

 

NOTA: identificador "dbi:Informix:dbname=sga_lousa_021112;host=srvlbd02_net@srvlbd02;port=1526" será truncado para "dbi:Informix:dbname=sga_lousa_021112;host=srvlbd02_net@srvlbd02"

 

ERRO: coluna "dbi:Informix:dbname=sga_lousa_021112;host=srvlbd02_net@srvlbd02" não existe

LINE 2: "dbi:Informix:dbname=sga_lousa_021112;host=srvlbd02_net@srvl...

^

********** Erro **********

ERRO: coluna "dbi:Informix:dbname=sga_lousa_021112;host=srvlbd02_net@srvlbd02" não existe

Estado de SQL:42703

Carácter:33

 

Para esse teu erro vê o final desta discussão que pode estar relacionado com isso:

http://postgresql.1045698.n5.nabble.com/Merlho-forma-para-conectar-banco-PG-com-Oracle-td2024018.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou colocar o schema antes da função?

 

 

dbi_link.make_accessor_functions

Compartilhar este post


Link para o post
Compartilhar em outros sites

meus erros atualmente...

 

ERRO: Undefined subroutine &main::Load called at line 42. at line 35.
CONTEXT: função PL/Perl "make_accessor_functions"


********** Error **********

ERRO: Undefined subroutine &main::Load called at line 42. at line 35.
SQL state: XX000
Context: função PL/Perl "make_accessor_functions"

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

tentou colocar o schema antes da função?

 

 

dbi_link.make_accessor_functions

Como assim?

 

antes de fazer o: SELECT make_accessor_functions

devo fazer:

dbi_link.make_accessor_functions(

"dbi:Informix:dbname=sga_lousa_021112;host=srvlbd02_net@srvlbd02;port=1526"

, "informix" /* User */

, "password" /* Password */

, "{AutoCommit=>0, RaiseError=>0, PrintError=>0}" /* Attributes */

, "needs_help_schema" /* External Schema */

, NULL /* External Catalog */

, "needs_help" /* Local Schema */

);

 

é isso?

fiz isso mas dá erro

 

eu tenho pouco know-how informático, pelo que a minha dúvida pode não fazer muito sentido....

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando vc roda o dbilink, ele cria um schema, icone vermelho e as funções estão dentro dele, para chamar elas vc tem chamar o schema antes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o retorno. tomara q de certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conseguiiiiii instalar o dbi link e rodar! nem acredito :D

 

Ambiente: windows vista home basic 32 bits.

postgres 9.0

 

tentei rodar o dbi link com o postgres 9.0 porém não consegui, quando tentei criar a linguagem

 

CREATE LANGUAGE plperlu;

 

obtive o erro:

 

ERRO: não pôde carregar biblioteca "C:/Program Files/PostgreSQL/9.0/lib/plperl.dll": unknown error 126

 

não sei responder pq isso acontece...

 

 

 

tentativa #939949999599

 

Ambiente: windows vista home basic 32 bits.

postgres 9.2.3

 

agora sim eu consegui fazer funcionar, parece q tem baixar varias dependencias(pacotes) do perl.

peguei o dbi link do github do cara: https://github.com/davidfetter/DBI-Link

 

passos da instalação

 

 

1 - instalar active perl (testei com a versão 5.14).
2 - Abra o prompt de comando e execute: ppm install MinGw
3 - Abra o prompt de comando e execute: ppm install YAML
4 - instale o driver do banco correspondente(mysql no caso): ppm install DBD::mysql

5 - Abra o prompt de comando e execute: makeinstall.pl (esse arquivo esta na pasta do dbi link)
6 - Abra uma query e rode o dbi_link

 

 

Após tudo isso todas as tabelas daquela base de dados apareceram no postgres com todos os registros, porém como views...... não pq ainda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, bom trabalho!!!

 

A resposta àquele seu erro de "C:/Program Files/PostgreSQL/9.0/lib/plperl.dll": unknown error 126"

está no link que me enviaste no início (http://www.mkyong.com/ database/install-perl-in-postgresql-the-specified-module-could-not-be-found/:

" i find out plperl.dll is depend on a dll file call perl58.dll. As i know , Perl58.dll is a dll file in Perl version 5.8"

 

 

Eu actualmente tenho um erro que tu já tiveste quando faço o "SELECT make_accessor_functions"

 

 

ERRO: valor para domínio yaml viola restrição de verificaç.ão "yaml_check"
SQL state: 23514

 

Tenho algumas coisas estranhas na minha instalação

 

1- para conseguir instalar no Postgres/Postgis a extensão plperlu tenho que ter instalado o Perl 5.14 e 5.16 senão tenho sempre o tal erro "C:/Program Files/PostgreSQL/9.0/lib/plperl.dll": unknown error 126"

 

2- Nunca consegui instalar o driver do banco correspondente(informix no caso): ppm install DBD::informix

Aparaece a indicação que não existe

 

2.1 Estava a usar o driver ODBC porque no meu controlador para a BD Informix tem lá a informação "IBM INFORMIX ODBC DRIVER", já que não conseguia instalar o driver especifico Informix pensei que o ODBC funcionaria.

 

Enfim, já fiz tanta tentativa que por vezes que parece que cada vez estrago mais a coisa.

 

Vou reinstalar tudo de novo tentando seguir os teus passos...

Não sei se haverá alguma diferença porque estou a usar o Wndows 7 de 64 bits.

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - instalar active perl (testei com a versão 5.14).

 

Feito

 

2 - Abra o prompt de comando e execute: ppm install MinGw

 

3 - Abra o prompt de comando e execute: ppm install YAML

2 e 3 - erro

 

Eu instalo tudo através do Perl Pack Manager e parece-me que ele instala algo do YAML (instala o CPAN-Meta-YAML ...). Ele instala todos os packages que tem (269) mas não tem por exemplo esse MinGw nem o Driver Informix

 

 

4 - instale o driver do banco correspondente(mysql no caso): ppm install DBD::mysql

instalei driver para ODBC, não consigo para o meu banco de dados (Informix)

 

5 - Abra o prompt de comando e execute: makeinstall.pl (esse arquivo esta na pasta do dbi link)

Quer dizer o makefile.pl , certo?

 

 

um desabafo: é muito frustrante não conseguir por esta coisa a funcionar........ :upset: :upset: :upset: :upset: :upset: :upset:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.