MariaDB

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDB

Mensagem por asimoes »

Quintas,

Qual é o ConnectionString para MariaDb ?

oConexao := Win_OleCreateObject( "ADODB.Connection" )

oConexao:ConnectionString := ""

Consegui:

oConexao:ConnectionString := "DRIVER={MariaDB ODBC 3.1 Driver}; SERVER=LOCALHOST; PORT=3306; DATABASE=asaprev; UID=root; PASSWORD=teste;OPTION=3;"
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDB

Mensagem por asimoes »

Olá Quintas,

Tem como postar as dependências da seu utilitário de transferência:

Código: Selecionar todos

hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
       CNFDBFIND(), WACHOICE(), MENSAGEM(), ADOCLASS(), APPCONEXAO(),
       SAYSCROLL(), GRAFTEMPO(), NUMBERSQL(), DATESQL(), STRINGSQL(),
       ADORECCOUNT()
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

É que na verdade não é utilitário, tá dentro do aplicativo.
Vou verificar o que dá pra fazer.

Aqui preparando pra refazer os testes com o conector Mariadb.

Sem paciência de esperar, só resta restaurar vários backups ao mesmo tempo.... rs

Nota: W10 normal, HeidiSQL normal, MariaDB normal...
mariadb.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

Durante a restauração, até renomear tabela em uso acabei fazendo sem querer kkk
Acabou aparecendo esta mensagem:
mariadb.png
backup restaurado, hora de rodar o aplicativo.
mariadb2.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

O aplicativo faz backup, e todas as conversões desde a data do backup até agora, enviando pra MySQL o que precisar, etc.
Aonde chegou no login/senha, é porque terminou, está pronto pra uso.
Das 11 empresas, faltam 3.
mariadb.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

Procurei reduzir as dependências.
Precisa alterar o test.prg e testar.

Código: Selecionar todos

PROCEDURE Main

   LOCAL oFile, cFile

   AppConexao( MySqlConnection( "servidor", "banco", "usuario", "senha" ) )

   FOR EACH oFile IN Directory( "*.dbf" )
      cFile := oFile[ F_NAME ]
      cFile := Substr( cFile, 1, At( ".", cFile ) - 1 )
      CopyDbfToMySql( cFile, .T., .T., .T. )
   NEXT
// FUNCTION CopyDbfToMySql( cTable, lTransfere, lCria, lZera, cNewTable )

   RETURN
test.zip
(15.3 KiB) Baixado 448 vezes
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

Erro executando comando:-2147217900 [ma-3.1.6][5.5.66-MariaDB]Unknown column 'JPCADASTRO.CDNOME' in 'field list'
Estou alterando um relatório, e esqueci de indicar o JPCADASTRO nos relacionamentos.... rs
Normal o erro.

Interessante na mensagem de erro:
ODBC: 3.1.6 (MariaDB)
Servidor: 5.5.66 (MariaDB)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDB

Mensagem por asimoes »

Quintas,

Maravilha, consegui gerar o exe e fiz a carga pro MariaDB, agora vou me diverti com a Maria, kkk, sem zueira, o legal é que mais colegas se interessem pelo assunto.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDB

Mensagem por asimoes »

Quintas,

Em uma tabela durante a carga deu esse erro:

Erro executando comando:-2147217913 [ma-3.1.6][10.4.11-MariaDB]Incorrect string value: '\xC2\x82lia ...' for column `asaprev`.`admsaude`.`NOME` at row 536
Called from ADOCLASS:EXECUTECMD(226)
Called from COPYDBFTOMYSQL(119)
Called from MAIN(27)

at row 536 é o recno do dbf ?
2020-01-26 17_17_10-Window.png
São registros com acentuação o nome está com acento: xxx Valério de yyyy

Descobri tem usar esse código página

Hb_cdpSelect( "PT850" )

Acho que tem relação com isso Collation=latin1_swedish_ci; na ConnectionString

Se usar hb_cdpSelect( "PTISO" ) ocorre o erro

Vou ter que usar uma função para remover acentos
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

asimoes escreveu:Vou ter que usar uma função para remover acentos
Foi o que comentei.
Quando comecei a converter peguei alguns caracteres diferentes, e coloquei na conversão.
Acabei deixando a rotina para o que fui encontrando nas minhas bases DBF.

Acaba até sendo interessante fazer a rotina de cadastrar automático pelo Harbour, porque assim já confirma se precisa ajustar alguma coisa, não só nesse momento de incluir, mas principalmente pro dia a dia.

Foi quando testei tudo junto que padronizei pra PTISO.
Foi a que melhor atendeu tudo de uma vez: editor de texto, tela, MySQL, site, etc.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDB

Mensagem por asimoes »

Está reclamando de caracteres especiais

R HILARIO DE GOUVEIA, 91/501

Erro executando comando:-2147217913 [ma-3.1.6][10.4.11-MariaDB]Incorrect string value: '\xE2\x96\x91 10...' for column `asaprev`.`apc01`.`ENDERECO` at row 228
Called from ADOCLASS:EXECUTECMD(227)
Called from COPYDBFTOMYSQL(113)
Called from MAIN(29)

Não sei o que pode ser.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDB

Mensagem por asimoes »

Não consigo sair disso

Já defini a codepage para PTISO,

Erro executando comando:-2147217913 [ma-3.1.6][10.4.11-MariaDB]Incorrect string value: '\xC2\x82 IDO...' for column `asaprev`.`apc01`.`PROV` at row 1308
Called from ADOCLASS:EXECUTECMD(227)
Called from COPYDBFTOMYSQL(113)
Called from MAIN(29)

Se at row 1308 for o registro n dbf, esse campo PROV está vazio !, ainda não entendi o problema.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

asimoes escreveu:Não consigo sair dissoJá defini a codepage para PTISO,
Erro executando comando:-2147217913 [ma-3.1.6][10.4.11-MariaDB]Incorrect string value: '\xC2\x82 IDO...' for column `asaprev`.`apc01`.`PROV` at row 1308
Called from ADOCLASS:EXECUTECMD(227)
Called from COPYDBFTOMYSQL(113)
Called from MAIN(29) Se at row 1308 for o registro n dbf, esse campo PROV está vazio !, ainda não entendi o problema.
Tem um detalhe em caracteres especiais: alguns não são "mostráveis". não aparece nada, mas tem caractere lá.

Usa aquela rotina tradicional pra teste:

Código: Selecionar todos

FOR EACH cLetra IN cCampo
   DO CASE
  CASE cLetra $ "abcdefghijklmnopqrstuvwxyz"
   CASE cLetra $ "ABCDEFGH..."
   CASE cLera $ " ,+-()"
   OTHERWISE
       ? cLetra, Asc( cLetra ), Substr( cCampo, cLetra:__EnumIndex - 10, 20 )
   ENDCASE
NEXT
Vai cercando os caracteres válidos, pra ver o que sobra.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MariaDB

Mensagem por asimoes »

Quintas,

Achei um caracter ¦ no campo endereço, não tem alguma sintaxe que permita a inclusão desses registros com caracteres especiais?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MariaDB

Mensagem por JoséQuintas »

asimoes escreveu:Achei um caracter ¦ no campo endereço, não tem alguma sintaxe que permita a inclusão desses registros com caracteres especiais?
Se for pensar direito, melhor remover mesmo, porque não faz sentido isso no endereço.
Acrescenta naquela função de limpeza.

O caractere não existe no conjunto do banco, por isso o erro.
Se não fosse isso, existe a opção de usar "\".
Por exemplo, o Chr(13) não grava, mas... se usar "\" + Chr(13) ok.
Ou a própria "\", trocar por "\\"
Se for fazer isso, não esquece a ordem, primeiro trocar "\", depois o resto.
Até mesmo aspas simples, que é controle de string: \'

Exemplo:

Código: Selecionar todos

FUNCTION StringSql( cStr )

   cStr := StrTran( cStr, "\", "\\" )
   cStr := StrTran( cStr, ['], [\'] )
   cStr := StrTran( cStr, Chr(13), "\" + Chr(13) )

   RETURN cStr
Aquela aspas simples pode existir em 'RUA D'ALVA', aí trocaria pra 'RUA D\'ALVA'

Por isso eu uso em meus fontes StringSql( cCampo ), pra fazer uma prévia do que não pode, ou pra esses "\"
De quebra pode evitar injeção de SQL, aquilo do usuário colocar SELECT ou algo parecido dentro de um campo pra executar algum comando.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder