Falha no SQL Developer, Java.exe

Com as novas compilações do Windows 64bits (X64) ficando mais populares entre os usuários Windows, estão surgindo muitos problemas com a migração das plataformas 32bits e um caso particular que gera muito transtorno é em relação ao SQL Developer que vem na instalação dos bancos de dados Oracle ou no Client.

A grande sacada está no fato de SQL Developer utilizar somente o JDK do Java da versão 32bits (X86), independente da compilação do Windows.

Na primeira utilização do SQL Developer o usuário deverá informar o caminho do Java no JDK, geralmente ele está localizado na pasta Java nos arquivos de programa.

Primeiro uso do SQL Developer:

caminhoJava

O usuário deve clicar em Browser e procurar o Java.exe nas pasta do JDK no explorer.

caminhoJavaExplorer

O executável do JDK correto quando instalado geralmente encontra-se no caminho:

C:\Program Files\Java\jdkXXXX\bin  para Windows (x86)

C:\Program Files (x86)\Java\jdkXXXX\bin para Windows(x64)

  • XXXX: É a versão do JDK.

Se for selecionada a versão do JDK x64 o seguinte erro é apresentado quando o SQL Developer é iniciado:

erroJDKSqlDeveloper

“Unable to find a Java Virtual Machine.

To Point to a location of a Java Virtual Machine, please refer to the

Oracle9i JDeveloper Install Guide (jdev\install.html).”

Para corrigir essa falha é necessário apagar o path (SetJavaHome) do java no arquivo de configuração do SQL Developer (sqldeveloper.conf) que fica localizado na pasta onde encontra-se o executável do SQL Developer:

..\pastaExecutável\sqldeveloper\bin\sqldeveloper.conf

No arquivo deve estar assim:

SetJavaHome C:\Program Files\Java\jdkXXXXX

Apague o caminho C:\Program Files\Java\jdkXXXXX e salve o arquivo.

Após iniciar o SQL Developer novamente ele solicitará o caminho do executável do Java.

Você pode baixar a versão correta X86 no site da Oracle

siteOracle

Baixe, instale, reconfigure o SQL Developer e mãos nos dados, isso resolve o problema.

Instalação de um hospital de campanha para atender a porção oriental Ilha Marajó

Os municípios que compõem a região do Marajó Oriental, sendo eles: São Sebastião da Boa Vista, Cachoeira do Arari, Ponta de Pedras, Soure, Salvaterra, Muaná e Santa Cruz do Arari deverão sofre muito mais com a atual estrutura hospitalar planejada para atender os casos de coronavírus, pois para os casos graves não existe estrutura hospitalar de suporte avançado na maioria desses municípios, além da histórica carência de profissionais de saúde e assim sendo os mesmos deverão dirigir-se a capital paraense, Belém, onde seus leitos de UTI estão operando na capacidade máxima ou próxima disso e além disso os leitos do estados também operam próximo ao limite. Um outro fator importante é a infraestrutura logistica dos municípios marajoaras até a capital que naturalmente é dificultada pelo acesso mais comum que são os rios e a baía do Marajó.

O Marajó que é abandonado historicamente por todas as esferas do executivo e dessa forma segue com os piores indices de desenvolvimento humano do Brasil poderá sofre muito mais pela ausência desse suporte hospitalar semi-avançado que um hospital de campanha pode oferer ao povo do Marajó, elevando ainda mais essa distância do povo marajoara do restante do Brasil.

Além disso, os casos de coronavírus vem aumentado exponencialmente a cada dia no Brasil e no Estado do Pará e esse ritmo não é diferente na Ilha de Marajó conforme pode ser visto no endereço eletrônico https://www.covid-19.pa.gov.br/#/. Assim, uma atenção especial deve ser dada aos municipios da Ilha de Marajó que carecem de estrutura Hospitalar de governos passados para alta e até mesmo de baixa complexidade. A Figura 1 mostra um heatMap dos casos na lha de Marajó.

mapa

Figura 1 – Mapa de calor dos casos de Covid-19 na região do marajó. Extraido do site do Governo do Estado do Pará <https://www.covid-19.pa.gov.br/#/> em 04/05/2020.

Se pudessemos acompanhar a evolução diária no mapa da Figura 1 seria possível acompanhar a disseminação a cada dia na Ilha.

Muitos municípios estão utilizando o mínimo de recursos para o combate ao coronavírus, dessa forma com a baixa efetividade no combate ao vírus somado ao descaso de muitos cidadão que ignoram completamente as recomendação do Ministérios da Saúde e da Organização Mundial de Saúde (OMS) a cada dia vemos novos casos confirmados e mortes com números cada vez maiores.

No Brasil os casos estão crescendo em ritmo acelerado conforme a Figura 2.

casos acu

Figura 2 – Evolução dos casos confirmados de Covid-19 e óbitos no Brasil<https://covid.saude.gov.br/> em 04/05/2020.

Assim sendo e como foi exposto, existe a real necessidade da implantação de um hospital de campanha para atender os municípios citados, uma petição no site da Avaaz foi criada por mim com o intuito de colher assinatura dos cidadão dos municípios do Marajó para expor ao Governador do Estado do Pará Helder Zahluth Barbalho o anseio dos cidadão desses municípios.

Nossa proposta é a coleta do máximo de assinaturas para implentação de um hospital de campanha no municípios de Ponta de Pedras para atender os casos de coronavírus da região. Ponta de Pedras além oferecer uma relativa proximidade da capital paraense, cerca de 50 Km o que pode favorecer a logística de equipamento e pessoal é o primeiro município do Marajó que recebe a linha transmissão subaquatica  vindo de Vila do Conde, oferencendo maior estabilidade energética pela subestação de Ponta de Pedras  e dessa subestação são supridos os demais municípios, sendo os últimos Salvaterra e Soure e dada toda extensão da linha de transmissão até o próximo município que é Cachoeira do Ararí muitos fatores podem interferir no perfeito funcionamento da rede o que pode acarretar em problemas para operação de um hospital de grande porte.

A petição pode ser acompanhada no endereço eletrônico:

https://secure.avaaz.org/po/community_petitions/governador_do_estado_do_para_helder_zahluth_barbal_instalacao_de_hospital_de_campanha_para_atender_a_ilha_de_marajo_oriental/

Assinem e garantam o desejo do povo do Marajó.

Descompilação de APK

Boa tarde pessoal,

Depois de muito tempo sem publicar nada vou falar sobre o descompilador de aplicativos para android o “Descompilador de APK”, fiz alguns testes e realmente o bicho funciona.

Vamos ao que interessa:

descompilaAPKPrincipalFig. 1 – Tela principal do programa

O descompilador de APK é bem simples de usar, basta selecionar um arquivo APK após pressionar em “Procurar APK” e em seguida pressionar “Descompilar arquivo APK e aguardar”.

No próximo post vou criar um app de uma calculadora básica para descompilar no descompilador, esse programa facilita bastante a vida de quem quer pegar aquele pulo do gato que alguns app possuem.

Ele é muito fácil de utilizar, o programa é pago, aqui no Brasil custa R$ 215,00 é possível pagar no Paypal ou cartão de crédito, os desenvolvedores não se responsabilizam pelo uso para descompilar app de outras empresas.

Após completar a barra de progresso da descompilação no grid abaixo é listado os arquivos de código e basta cliclar em “Abrir Código” e fácil o código do App está em sua tela.

Por hora não vou fazer demonstração de nenhum App que não seja o que vou criar para não correr risco de ser processado rsrsrsr.

 

 

Criação de dbLink privado em bases Oracle

Bom dia,

O cruzamentos de dados entre várias bases muitas vezes é necessário para extrairmos algumainformação, assim a utilização de uma aplicação para deixar os dados em um lugar comum ou utilizarmos links de dados entre bancos de dados são as opções disponíveis, esta última opção é a mais interessante para bases Oracle no mesmo ambiente.

Para verificar quais links estão disponíveis basta rodar o seguinte comando:

Select * from all_db_links;

Assim, serão listados todos os dbLinks do banco de dados.

Para criar um novo dbLinks basta utilizar o seguinte comando:

–COMANDO PARA CRIAR DBLINKS
CREATE DATABASE LINK “nome_do_dbLink”
CONNECT TO “nome_do_usuario” IDENTIFIED BY “senha_do_usuario”
USING ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX.XXX.XXX.XXX)(PORT=XXXX))(CONNECT_DATA=(SERVICE_NAME=nome_do_servico)))’;

Após rodar o comando, para chamar qualquer objeto da base remota basta colocar @nome_do_dblink depois do nome do objeto, por exempo:

No banco de dados remoto existe uma tabela com nome tbl_base. Em meu banco onde criei um dblink com nome dbl_base rodo o comando para chamar os dados de tbl_base assim:

Select * from tbl_base@dbl_base;

É assim… 🙂

Como remover aquele vírus chato que some, corrompe e cria atalhos de seus arquivos do pendrive, computador e celular

fundo3

Boa tarde pessoal, depois de muito tempo sem publicar nada aqui vou começar dando uma dica de como retirar alguns vírus em atormentam a vida até mesmo de usuários experiente, eu não utilizo antivírus e por isso tive que aprender como remover na mão e vou passar a técnica.

Para essa missão você vai precisar do Winrar – O software compactador e descompactador de arquivos, um dos melhores do mercado, você pode baixa-lo aqui.

A sacada da utilização do WinRar é você poder utiliza-lo para enxergar os arquivos ocultos em qualquer lugar ou dispositivo, exemplo utilize a barra de navegação do winrar até onde você acha que seus aquivos estão, pendrive, celular…

Procura

Procurando o local dos arquivos no WinRar

E assim, quando você chegar no local desejado seu arquivos serão exibidos na parte inferior do Winrar, mas se você for procurar os arquivos pelo Windows Explorer, você poderá não vê-los e sim seus atalhos ou nada, caso não apareça nada na maioria das vezes eles estarão lá mas certamente estarão ocultos.

Atalho

Atalhos de arquivos no dispositivo (F:)

Todos os arquivos no Windows possuem características, atributos como: tamanho, tipo(Extensão, ex: .exe, .pdf, .txt …), data, visibilidade e etc.

Assim se você viu seus arquivos com o WinRar, mas ele não aparecem com o Windows Explorer é porque o atributo de visibilidade foi alterado, assim como outros arquivos também podem ter sido alterados. Dessa forma você deve alterar esses atributos dos arquivos para que eles sejam exibidos normalmente.

Mas antes de alterar os atributos você deve saber quem está alterando os atributos dos seus arquivos.

Investigando as causas:

1 – Se você insere um pendrive, celular e tudo no mesmo se torna atalho, some ou corrompe, tenha certeza que o vírus está no computador.

2 – Se você inseriu um pendrive ou celular com esses problemas em seu computador, é quase certo que o vírus fez uma cópia para a máquina e já está se inicializando automaticamente.

3 – Para confirmar a entrada automática do vírus, você deve desligar e liga o computador e quando insere um pendrive ou celular e o mesmo é infectado, o vírus já está na inicialização do Windows.

Antes de excluir o vírus…

Os vírus geralmente possuem duas extensões .vbs e .js.

Exemplo: jgfytdiu.vbs, vrgggf.js, virus.js, os nomes variam.

O .vbs é um vírus escrito em visual basic, já o .js é escrito em javascript, visual basic e javascript são linguagens de programação, as linguagens de programação são utilizadas para desenvolverem “escreverem” programas, um vírus também é um programa, mas é um programa que não vem fazer nada de bom, também existem outras extensão de vírus .bat, .exe, .bin, mas os mais comuns são os escritos em vbs e js, porém nem sempre todos os arquivos com essas extensões são vírus.

exec

Arquivos Javascript (js) e vbscript (vbs)

Desativando os vírus da inicialização automática do windows

Sabendo disso, você deve procurar arquivos na inicialização do Windows com essas extensões.

Abra o executar e digite o comando:

msconfig

Para abrir o executar pressione a tecla Wkey “A tecla com o simbolo do Windows” e click no R (Wkey + R)

Abrindo o executar

Teclas de atalho do windows para o executar

Logo após aparecerá a tela do executar e nele preencha com o comando msconfig e pressione OK

Tela do executar

Tela do executar do Windows

Esse comando irá abrir o utilitário de configuração do sistema.

Vá na guia, dependendo da versão do windows aparecerá “StartUp”, “Inicializar” ou “Inicialização de Programas”.

Utilitário do sistema

Utilitário do sistema

Expanda a guia “Comando” e veja se o arquivo no caminho aponta para um arquivo javascript ou vbscript, geralmente os vírus ficam neste caminho “C:\\usuarios\meuusuario\AppData” dentro das pastas Roaming, Local e LocalLow ou na AppData.

Se o checkBox ao lado estive marcado com o caminho apontando para um arquivo .js ou .vbs desmarque os mesmos e click em “Aplicar” e depois em “OK”. Assim o arquivo desmarcado não inicializará com a inicialização do Windows.

Uma forma de saber se é um vírus geralmente o nome do arquivo é um nome incoerente e o editor do programa é desconhecido ou não existe.

Assim, desmarque todos os arquivos que você sabe que podem ser vírus ou apontam para locais suspeitos e confirme tudo depois reinicie o computador e retire os pendrive e celulares infectados.

Após o computador ser reiniciado, abra novamente o utilitário de configuração do sistema, procure o(s) arquivo(s) que você desativou clique com o botão direito do mouse e selecione “Abrir local do arquivo”

Deletando os vírus do computador

Abrindo o local do arquivo

Abrindo o local do arquivo

Após selecionada opção, será aberto o local onde se encontra o(s) arquivo(s) suspeito(s), delete todos.

Feito isso você deleta a causa das infecções em sua máquina.

Removendo os vírus dos dispositivos (pendrive, celular, tablet…) e alterando os atributos dos arquivos infectados dos mesmo.

1 – Insira o dispositivo no computador.

2 – Abra o winrar e vá até o dispositivo e delete todos os arquivos .js  ou .vbs

3 – Alguns vírus pegam todos os seus arquivos e os põe em uma pasta oculta no próprio dispositivo, assim, verifique as pastas que você sabe que não foi você que criou. Verifique se seus arquivos estão lá, caso positivo, copie para seus devidos lugares.

4 – Altere os atributos de todos os arquivos e pastas do seu dispositivo.

5 – Deletado todos os arquivos .js e .vbs que você sabe que são vírus

Abra o executar e digite cmd e pressione OK.

O comado CMD abre o prompt de comando do windows.

Prompt de comandos

Prompt de comandos

No prompt digite o seguinte:

Attrib LetraDaUnidadeDispositivo:\*.* /d /s +a -h -r -s

O *.* garante que todos os arquivos de todas as extensões do dispositivos serão afetados com o comando.

cmd

LetraDaUnidadeDispositivo é a letra da unidade no Windows Explorer, verifique qual é do seu dispositivo C, D, E, F, G, H…

Inserido o comando pressione “Enter”.

Explicação do comando

*.* define todos os arquivos da unidade para o comando

+ define um atributo

– limpa um atributo

R atributo de arquivo somente leitura

A atributo de arquivo morto

S atributo de arquivo de sistema

H atributo de arquivo oculto

/S arquivo(s) correspondente(s) na pasta local

/D inclui pastas no processamento do comando

Aguarde a conclusão e pronto, todos atributos dos arquivos da unidade, estarão alterados.

Agora é só você ir lá no seu dispositivo e todos os seus arquivos estarão lá.

Mais alguns comando que você pode implementar no comando junto com o attrib

“+” define um atributo, “-” limpa um atributo, “R” atributo de arquivo somente leitura, “A” atributo de arquivo morto, “S” atributo de arquivo de sistema, “H” atributo de arquivo oculto, “I” atributo de arquivo sem conteúdo indexado, “X” sem atributo de arquivo de limpeza, “V” atributo de integridade, “[UNIDADE:][CAMINHO][ARQUIVO]”,”/S arquivo(s) correspondente(s) na pasta local”, “/D” inclui pastas no processamento do comando e “L” processa os atributos de link simbólico versus o destino do link simbólico.

Comando adicionais

Comando adicionais

Recuperando dados do Oracle com VB.Net

Para começarmos a recuperar as informações do banco de dados Oracle, você já deve ter instalado Oracle Data Access Components (ODAC) em conjunto com o Microsoft Visual Studio e ter adicionado a referência do Oracle em seu Projeto.

Assim, dando continuidade vamos começar a desenvolver o código para interagir com o banco.

Após importar o namespace para o projeto

Imports System.Data

Imports Oracle.DataAccess.Client

Agora no evento de algum controle que pode ser um botão, label, checkbox ou qualquer outro controle será inserido o código:

Primeiro criaremos a string de conexão, é preferível que ela seja declarada em escopo público para vários forms que para uma aplicação com Oracle com certeza o acesso será em mais de um formulário, caso contrário em cada formulário seria necessário a declaração de uma nova string, sendo assim em um módulo escreva :

Public StringConexaoOracle as string=””

Agora em alguma sub atribuiremos a StringConexaoOracle o nome de usuário, senha e o serviço do netmanager, ficando assim:

StrConexaoOracle = “Data Source=NomeServicoOracle;Persist Security Info=True;” + ” User ID=MeuNomeUsuario ;Password=MinhaSenha”

Agora a string de conexão está feita, falta declararmos a conexão para abstrair a string de conexão:

Dim DsConsulta as new DataSet  ‘Aqui é criado um dataset

DsConsulta.Clear ‘O dataset é limpo

Using ConexaoOracle As New OracleConnection(StringConexaoOracle) ‘ É criada a conexão abstraindo a string de conexão

Dim ComandoSql as String=”Aqui entra o comando SQL” É adicionado o comando SQL

Dim Command As New OracleCommand(ComandoSql, ConexaoOracle) ‘Command abstrai o comando SQL e a conexão
Dim AdapterAgendadorConsulta As New OracleDataAdapter(Command) ‘ É criado um DataAdapter que abstrai o DataCommand
ConexaoAgendadorConsulta.Open() ‘A conexão é aberta

AdapterAgendadorConsulta.Fill(DsConsulta, “Tabela_X”) ‘ Utilizando método fill o DataAdapter preenche o dataset com uma tabela de nome “Tabela_X”
ConexaoAgendadorConsulta.Close() ‘A conexão com o banco é fechada

End Using

A partir daqui o dataset está preenchido com os dados da consulta basta manipularmos os dados agora, jogarmos em um grid ou salvar.

Mas existem alguns limitadores para este código.

Lembre-se que o limite em memória virtual para uma aplicação 32bits é 2^32 o equivale a 4294967296, mas na prática chega a uns 2Gb, então se sua consultar retornar um volume de dados maior que isso, acontecerá um estouro de memória e se o código estiver como um bloco de tratamento de erro comoTry, Catch, Finally uma exceção será lançado senão o programa ficará com a tela branca e não respondendo o que não é muito profissional, isso é uma coisa importante a ser visada.

No próximo artigo mostrarei como utilizar o DataReader, ExecuteNonQuery(), ExecuteReader(), essas coisas (y) e falarei mais sobre a capacidade do sistemas 32 e 64bits.

Adicionando a referência do Oracle em um projeto WindowsForm no Visual Studio

Como sugere o titulo, em teoria você já deveria estar com parte do seu projeto andando para adicionar a referência do Oracle para assim chamar o namespace para o projeto e por diante começar a adicionar seu código.

Então: abra o seu projeto no Visual Studio, logo após click no menu Project e selecione Add Reference…, como na figura abaixo.

Imagem

Logo após selecionar Add Reference… aparecerá a janela de dialogo para você adiciona-la.

Assim abra a guia .NET e selecione a opção Oracle.DataAccess escolha a melhor versão.

A imagem abaixo mostra como são esses passos

Imagem

Selecione a sua opção e pronto a referência do Oracle já está incorporada a sua aplicação. Agora falta chamar o namespace para começar a inserir seu código para a interação com o banco de dados.

Insira na área de declaração de namespace o código:

Imports System.Data

Imports Oracle.DataAccess.Client

Assim você já pode começar a interagir com o Oracle.

 

É tudo bem simples, no próximo post mostrarei como acessar o banco montar a string de conexão, os métodos e tudo mais.

 

 

 

Conexão com banco de dados Oracle no ambiente do Visual Studio

Bom dia pessoal, para o meu primeiro post vou falar sobre conexão com banco de dados Oracle no ambiente Visual Studio utilizando VB.NET, para mim que tive que aprender no osso foi difícil e levei um tempo para fazer, na verdade esse post vai mostrar como fazer a conexão e extrair os dados para um dataset, datatable ou qualquer outro objeto ou controle. Começando. Se você já tem o Visual Studio instalado você deverá ter também o  “Oracle Developer Tools for Visual Studio – Oracle Data Access Components (ODAC) ”  instalado. caso não tenha faça o download da sua versão aqui . Instale o ODAC, você deve ter o client do oracle também instalado na sua máquina com o(s) nome(s) de serviço(s). Para você verificar os serviços entre no Netmanager do Oracle instalado com o client. A tela é essa abaixo, os nomes dos serviços estão no retangulo em vermelho e você precisará deles para fazer referencia na conexão com o banco do seu aplicativo

Caso não tenha nomes de serviço, crie. Uma coisa importante, se você criar um serviço após a intalação ODAC, você deverá entrar na pasta do oracle em C:\oracle\product\VERSAO_DO_ORACLE\client_1\NETWORK\ADMIN geralmente é esse o caminho e copiar o arquivo tnsnames.ora e substituir o antigo na pasta de instalação do ODAC que você escolhe na instalação mas a pasta final é essa UNIDADE_DE_DISCO:\app\USUARIO\product\VERSAO_DO_ORACLE\client_1\Network\Admin e lá substituir o TNS tnsnames.ora.

No próximo post vou mostrar como adicionar a referência do Oracle no seu aplicativo do tipo WindowForm em VB.NET.