domingo, 22 de setembro de 2024

2 Conexões Firebird no Lazarus Database Desktop

Sou usuário da distribuição Linux KDE Neon, do IDE Lazarus (para o compilador Free Pascal) e Banco de Dados Firebird.

O Lazarus tem uma ferramenta chamada "Lazarus Database Desktop" para criação/leitura de Dicionário de Dados.

Ela não vem instalada, o projeto deve ser aberto e compilado. Posteriormente, pode ser integrada na IDE, ali no menu Ferramentas.

Possuo 2 versões do Firebird instaladas. A versão 4 (porta 3050) e versão 5(porta 30500) com suas portas configuradas em seus respectivos firebird.conf

A conexão do Firebird 4 foi realizado com sucesso. No campo servidor, informando "localhost", "127.0.0.1" ou "nome-computador", funcionava, realizando a conexão

No caso do Firebird 5, para direcionar a conexão, tive que informar a porta de utilização do Firebird 5, porta 30500, porque sem a informação da porta, aparecia uma mensagem informando que estava tentando abrir um arquivo feito no Firebird 5 (13.1) no Firebird 4 (13.0).

Então, ali no campo servidor, estava informando da seguinte forma: "nome-computador:30500" (sem as aspas)

Testava a conexão e dava erro de "Violação de Acesso!"

Depois de muito rodar atrás de uma solução, resolvi testar trocando o caractere que faz a separação do host da porta. Troquei o ":" por "/", ficando "nome-computador/30500", realizando a conexão com sucesso.

Lembrete de prestar atenção nisso, pois normalmente usa-se o ":" para separadar o host da porta, porém neste caso, foi utilizado a "/"

Abraço a Todos

Até a próxima.

quarta-feira, 21 de agosto de 2024

Erro "Warning: linker: /usr/bin/ld: cannot find -lGL: No such file or directory"

Durante a recompilação da interface do Lazarus, para a instalação dos componentes BGRA, estava recebendo a mensagem:
"Warning: linker: /usr/bin/ld: cannot find -lGL: No such file or directory".

Sistema: Lubuntu 22.04 e também no Debian Testing (Trixie).

Para resolver, realizei a instalação da biblioteca libgl1-mesa-dev.

Caso não resolvesse, uma possível solução seria a instalação da biblioteca libgles2-mesa-dev.

Espero ter ajudado
Abraços a todos!

quarta-feira, 27 de setembro de 2023

Senha de Root do MySQL no Linux

Começo este post informando que decidi fazer a instalação do MySQL em minha máquina.

Estou usando o KDE Neon 5.27.8

Realizei a instalação do MySQL do próprio repositório através do comando:

sudo pkcon install mysql-server

Durante a instalação não houve pedido para informar a senha de root do mysql.

Instalação terminada, ainda no terminal digitei:

sudo mysql

Acessando assim o prompt do mysql.

Mas eu queria informar uma senha para o usuário root. Dei um quit do mysql e novamente no terminal do sistema, utilizei o seguinte comando:

sudo mysql_secure_installation

Serão apresentadas algumas opções de configuração do tipo sim ou não (y ou n).

A primeira é o nível da política de senha. São 3 opções: LOW, MEDIUM, STRONG (não irei me extender nas opções, pois são todas bem explicadas no processo).

Após selecionar o nível, deveria vir a opção de informar uma senha para o root, porém recebi a seguinte mensagem informando que essa parte será pulada.

"Skipping password set for root as authentication with auth_socket is used by default."

A mensagem indica que a configuração de autenticação do usuário root está usando o método "auth_socket" por padrão e, portanto, não é necessário definir uma senha para esse usuário.

O "auth_socket" é um mecanismo de autenticação do MySQL que permite que o usuário se autentique com base no usuário do sistema operacional. Isso significa que, se você estiver logado como um usuário do sistema operacional com privilégios de root ou usando o comando "sudo", poderá se conectar ao MySQL como usuário root sem fornecer uma senha.

Neste caso, para solucionar o problema de dar uma senha ao root a solução foi acessar o mysql através do sudo e uma vez no prompt do mysql, utilizar o comando:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'sua_senha_aqui';

Feito isto, basta sair e tentar autenticar-se com a senha que acabou de cadastrar para o root.

Caso queira retornar a autenticar-se como root utilizando o usuário admin do sistema operacional, utilize o comando:

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

É sempre interessante, por questões de segurança, criar um usuário para utilizar o banco e não ficar utilizando o root.

Siga estes passos dentro do mysql:


create user 'nome_usuário'@'localhost' identified by 'sua_senha';
grant all privileges on *.* to 'nome_usuário'@'localhost' with grant option;
flush privileges;

É isso!

Espero ter ajudado.
Abraço a todos

sábado, 15 de abril de 2023

Dica Rápida: Cálculo de Combinações Possíveis

 Estava procurando uma fórmula para o cálculo de combinações possíveis dentro de um sorteio.

Exemplo: dentro deste escopo "1 - 2 - 3 - 4 - 5", onde sorteia-se 3 números, temos as seguintes possibilidades:

1 2 3

1 2 4

1 2 5

1 3 4

1 3 5

1 4 5

2 3 4

2 3 5

2 4 5

3 4 5


Temos 10 combinações possíveis.

Em um exemplo pequeno assim fica fácil contar manualmente, mas e num exemplo maior, como uma loteria?


Para isso temos a seguinte fórmula

x=total de números

y=quantidade números a serem sorteados.

C(x,y) = x! / (y! * (x - y)!)

C(5,3) = 5! / (3! * (5 - 3)!)

C(5,3) = 120 / (3! * 2!)

C(5,3) = 120 / (6 * 2)

C(5,3) = 120 / 12

C(5,3) = 10

Adicionalmente podemos acrescentar uma outra fórmula.

Se repararmos no exemplo mostrado, cada um dos números foi sorteado num total de 6 vezes.

Para este cálculo, podemos utilizar a seguinte fórmula:

C(n-1, k-1)

n = 5

k = 3

C(4, 2) = 4! / (2! * (4-2)!)

C(4, 2) = 24 / (2 * 2)

C(4, 2) = 24 / 4

C(4, 2) = 6


É isso, espero ter ajudado.


Abraços,

Terence.

quarta-feira, 8 de março de 2023

Dica rápida sobre o winget

 O Winget é um gerenciador de pacotes para o Windows que instala os aplicativos usando o Windows Package Manager (parecido com o apt, dnf, e outros do mundo linux). Quando você usa o comando "winget install" para instalar um aplicativo, ele baixa o pacote de instalação do aplicativo da Internet e o salva em um local temporário no seu computador antes de instalar o aplicativo.

O local padrão onde os pacotes de instalação temporários do Winget são armazenados é a pasta "%LocalAppData%\Temp\winget".

Após a instalação do aplicativo, os arquivos do pacote de instalação temporários são excluídos automaticamente pelo Winget. Portanto, se você precisar instalar o mesmo aplicativo novamente, o Winget baixará o pacote de instalação novamente.

Porém, se ocorrer um erro de instalação, você poderá ir até a pasta temporária citada anteriormente e muito provavelmente o instalador ainda estará ali, não tendo assim que aguardar um novo download, podendo realizar a execução do instalador manualmente com um duplo clique.

Abraços a Todos!