Clipper On Line • Ver Tópico - duvida importacao de dbf para postgresql

duvida importacao de dbf para postgresql

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

duvida importacao de dbf para postgresql

Mensagempor andrelucass » 26 Ago 2020 09:33

Ola a todos

Estou migrando meu sistema de dbf para postgresql, me deparei com o problema de acentuação, na base dbf existem registros com acento.

Gostaria de saber como configurar o banco de dados para receber essas informações.

Atenciosamente
André Lucas Souza
andrelucass
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 25 Fev 2005 10:40
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

duvida importacao de dbf para postgresql

Mensagempor pauloa1 » 26 Ago 2020 10:35

Quando Criar a base de dados no Post coloca o encoding = WIN1252.

Paulo
pauloa1
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 224
Data de registro: 25 Jun 2008 14:57
Cidade/Estado: Augusto Pestana-RS
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

duvida importacao de dbf para postgresql

Mensagempor andrelucass » 26 Ago 2020 10:42

Ola Pauloa1

Crie a base de dados com encoding = WIN1252 e está aparecendo essa mensagem, estou usando o postgresql 9.6

ERROR: new encoding (WIN1252) is incompatible with the encoding of the template database (UTF8)
HINT: Use the same encoding as in the template database, or use template0 as template.
andrelucass
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 25 Fev 2005 10:40
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

duvida importacao de dbf para postgresql

Mensagempor andrelucass » 26 Ago 2020 11:49

Cria o banco de dados da seguinte forma:

Enconding : WIN1252
Template: Template0
Tablespace: pg_default
Collation: Portuguese_Brazil:1252
Character Type: Portuguese_Brazil:1252

o sistema aceitou a acentuação usando o seguinte insert

INSERT INTO administrativo.cidades (nomcid,estcid,kmcid) VALUES ('SãO PAULO ','SP','1')

só que no banco de dados está gravado dessa forma:
SÆO PAULO
andrelucass
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 25 Fev 2005 10:40
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

duvida importacao de dbf para postgresql

Mensagempor andrelucass » 26 Ago 2020 13:58

Estou precisando muito resolver isso
andrelucass
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 25 Fev 2005 10:40
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

duvida importacao de dbf para postgresql

Mensagempor pauloa1 » 26 Ago 2020 15:05

Você usa Sqlrdd ? Se sim, eu recomendo usar o sql2dbf.exe criado pelo sygecom é uma mão na roda, pra transferir os dados.

Paulo
pauloa1
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 224
Data de registro: 25 Jun 2008 14:57
Cidade/Estado: Augusto Pestana-RS
Curtiu: 2 vezes
Mens.Curtidas: 11 vezes

duvida importacao de dbf para postgresql

Mensagempor andrelucass » 26 Ago 2020 15:08

não eu utilizo a classe do rodrigo moreno

você poderia ajudar ?

meu e-mail: andrelucassouza72@gmail.com
andrelucass
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 25 Fev 2005 10:40
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

duvida importacao de dbf para postgresql

Mensagempor Itamar M. Lins Jr. » 26 Ago 2020 21:07

Ola!
Neste caso bastava apenas converter para UTF8EX quando fosse jogar para o PG.
Adiciona a pagina de código UTF8EX
REQUEST HB_LANG_PT, HB_CODEPAGE_PTISO, HB_CODEPAGE_PT850, HB_CODEPAGE_UTF8EX


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6950
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 507 vezes

duvida importacao de dbf para postgresql

Mensagempor sygecom » 26 Ago 2020 21:46

André,

Assim que conectar no banco e antes de qualquer SQL, use:

oServer := TPQServer():New( cHOST, cDATABASE, cUSER, cPASS, nPORTA, NIL ) // CONECTA NO BANCO DE DADOS
EXECUTA_PGSQL(oServer,"set client_encoding TO 'SQL_ASCII';") // <----
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7017
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

duvida importacao de dbf para postgresql

Mensagempor andrelucass » 28 Ago 2020 09:29

Ola a todos

Com a ajuda de Pauloa1, fiz a criação do banco de dados, uso xharbour com gtwvw e descobrir que uso a função wvw_setcodepage(,255) é isso que esta contribuindo para a gravação dos dados com acento incorrretos, uso no inicio do sistema os seguintes comandos:

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850

HB_LANGSELECT( 'PT' )
HB_SETCODEPAGE( "PT850","PTISO" )

depois
WVW_SetCodePage(,255)

é aqui que esta o problema, alguém sabe qual codepage usar
andrelucass
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 145
Data de registro: 25 Fev 2005 10:40
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

duvida importacao de dbf para postgresql

Mensagempor sygecom » 28 Ago 2020 11:21

Aqui uso:

REQUEST HB_CODEPAGE_PTISO
REQUEST HB_LANG_PT

HB_SETCODEPAGE( 'PTISO' )
HB_LANGSELECT( 'PT' )

Mas acho que não seja isso.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7017
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 133 vezes

duvida importacao de dbf para postgresql

Mensagempor JoséQuintas » 28 Ago 2020 15:37

Dá uma pesquisada nos manuais se mostra em algum lugar, senão vai ter que ser nos fontes mesmo.

https://harbour.github.io/doc/pt-br/gtwvw.html#wvw_setcodepage

Note que está em português-Brasil, e está no site do Harbour !!!
Pouca gente viu essa opção PTBR na documentação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18151
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

duvida importacao de dbf para postgresql

Mensagempor Claudio Soto » 29 Ago 2020 01:47

Proba eliminando el wvw_setcodepage
Y dejando sólo el HB_SETCODEPAGE

De lo contrario si no funciona proba cambiando el numero 255 en el wvw_setcodepage por 850 o 860, ver:

https://docs.microsoft.com/en-us/window ... dentifiers
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

duvida importacao de dbf para postgresql

Mensagempor fjservicosthe » 03 Jan 2022 20:58

Utilizo essa Função, e dá certo

Tiracento(nNome)
*************************
nNome:=StrTran(nNome," ","a")
nNome:=StrTran(nNome,"Æ","a")
nNome:=StrTran(nNome,"…","a")
nNome:=StrTran(nNome,"ƒ","a")
nNome:=StrTran(nNome,"µ","A")
nNome:=StrTran(nNome,"Ç","C")
nNome:=StrTran(nNome,"·","A")
nNome:=StrTran(nNome,"¶","A")
nNome:=StrTran(nNome,"‚","e")
nNome:=StrTran(nNome,"Š","e")
nNome:=StrTran(nNome,"ˆ","e")
nNome:=StrTran(nNome,"","E")
nNome:=StrTran(nNome,"Ô","E")
nNome:=StrTran(nNome,"Ò","E")
nNome:=StrTran(nNome,"Ó","E")
nNome:=StrTran(nNome,"¡","i")
nNome:=StrTran(nNome,"Þ","I")
nNome:=StrTran(nNome,"Ø","I")
nNome:=StrTran(nNome,"×","I")
nNome:=StrTran(nNome,"¢","o")
nNome:=StrTran(nNome,"ä","o")
nNome:=StrTran(nNome,"•","o")
nNome:=StrTran(nNome,"“","o")
nNome:=StrTran(nNome,"à","O")
nNome:=StrTran(nNome,"å","O")
nNome:=StrTran(nNome,"ã","O")
nNome:=StrTran(nNome,"â","O")
nNome:=StrTran(nNome,"£","u")
nNome:=StrTran(nNome,"","u")
nNome:=StrTran(nNome,"é","U")
nNome:=StrTran(nNome,"š","U")
nNome:=StrTran(nNome,"‡","c")
nNome:=StrTran(nNome,"€","C")
nNome:=StrTran(nNome,"°","")
nNome:=StrTran(nNome,"±","")
nNome:=StrTran(nNome,"²","")
nNome:=StrTran(nNome,"¹","")
nNome:=StrTran(nNome,"º","")
nNome:=StrTran(nNome,"»","")
nNome:=StrTran(nNome,"¼","")
nNome:=StrTran(nNome,"#","")
nNome:=StrTran(nNome,"$","")
nNome:=StrTran(nNome,"%","")
nNome:=StrTran(nNome,"&","")
nNome:=StrTran(nNome,"¦","")
nNome:=StrTran(nNome,"§","")
nNome:=StrTran(nNome,"¨","")
nNome:=StrTran(nNome,"©","")
nNome:=StrTran(nNome,"ª","")
nNome:=StrTran(nNome,"«","")
nNome:=StrTran(nNome,"¬","")
nNome:=StrTran(nNome,"­","")
nNome:=StrTran(nNome,"®","")
nNome:=StrTran(nNome,"¯","")
nNome:=StrTran(nNome,"³","")
nNome:=StrTran(nNome,"´","")
nNome:=StrTran(nNome,"¹","")
nNome:=StrTran(nNome,"½","")
nNome:=StrTran(nNome,"¾","")
nNome:=StrTran(nNome,"¿","")
nNome:=StrTran(nNome,"À","")
nNome:=StrTran(nNome,"Á","")
nNome:=StrTran(nNome,"Â","")
nNome:=StrTran(nNome,"Ã","A")
nNome:=StrTran(nNome,"Ä","")
nNome:=StrTran(nNome,"Å","")
nNome:=StrTran(nNome,"È","")
nNome:=StrTran(nNome,"É","")
nNome:=StrTran(nNome,"Ê","")
nNome:=StrTran(nNome,"Ë","")
nNome:=StrTran(nNome,"Ì","")
nNome:=StrTran(nNome,"Í","")
nNome:=StrTran(nNome,"Î","")
nNome:=StrTran(nNome,"î","")
nNome:=StrTran(nNome,"ï","")
nNome:=StrTran(nNome,"ð","")
nNome:=StrTran(nNome,"ñ","")
nNome:=StrTran(nNome,"ò","")
nNome:=StrTran(nNome,"ó","")
nNome:=StrTran(nNome,"ô","")
nNome:=StrTran(nNome,"õ","")
nNome:=StrTran(nNome,"ö","")
nNome:=StrTran(nNome,"÷","")
nNome:=StrTran(nNome,"ø","")
nNome:=StrTran(nNome,"ù","")
nNome:=StrTran(nNome,"û","")
nNome:=StrTran(nNome,"ü","")
nNome:=StrTran(nNome,"ý","")
nNome:=StrTran(nNome,"þ","")
nNome:=StrTran(nNome,"*","")
nNome:=StrTran(nNome,"'","")
nNome:=StrTran(nNome,",","")

Return(nNome)
Nota de Moderação:
Jairo Maia: Mensagem editada para colocar a tag [ code ]
Veja como utilizar esta tag: Clique aqui
Avatar de usuário

fjservicosthe
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 15 Dez 2021 14:39
Cidade/Estado: Teresina/Pi
Curtiu: 0 vez
Mens.Curtidas: 0 vez




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro