Trabalhando com datas no Informix

Algumas coisas básicas que todo mundo precisa ver mais cedo ou mais tarde.

Convertendo texto para data TO_DATE

select TO_DATE(’18/01/2012 17:50′, ‘%d/%m/%Y %H:%M’) from dual

TO_DATE – converte para data
18 dia – %d
01 mês – %m
2012 ano – %Y
17 hora – %H
50 minuto – %M

SYSDATE ou GETDATE() no Informix

Current = pega data e hora daquele momento
select current from dual

Today = pega a data daquele dia
select today from dual

Esepero que ajude.

Até mais.

Anúncios

Exportação de dados do SQL Server para o Oracle com assistente de importação do SQL Server

Importação de dados do SQL para o Oracle com assistente de importação do SQL Server

Esses dias precisei exportar várias tabelas que tinha em minha base de dados SQL Server para uma base de dados no Oracle, uma opção interessante para fazer isso é utilizando o assistente de importação do SQL Server. Foi bem fácil e rápido fazer isso, a única coisa que não gostei é que na versão Express do SQL não é possível salvar os dados da importação e se for necessário fazer novamente, é preciso montar tudo do começo.
Vamos ao passo-a-passo:

A primeira coisa a ser feita aqui é iniciar assistente de importação SQL Server, que geralmente fica em Iniciar -> (Todos) Programas -> Microsoft SQL Server -> Importar e Exportar Dados.

Agora vamos definir a origem de nossos dados em nosso servidor SQL, precisamos ter apenas, nome do servidor/ip e porta, usuário e senha, após colocar esses dados basta escolher a base de dados que contém as tabelas que vamos exportar.

Vamos para a próxima fase que será definir o local de destino dos dados, nosso servidor Oracle. Para isso é necessário selecionar a opção “.Net Framework Data Provider for Oracle” e configurar os dados de conexão com nosso servidor que são data source (composto por [servidor]:[porta]/[serviço]), usuário e senha.

Agora vamos selecionar a primeira opção “Copiar dados de uma ou mais tabelas ou exibições”


Nesse passo vamos selecionar as tabelas e view’s do SQL Server que desejamos levar para nosso Oracle.


É muito importante “Editar Mapeamentos” das tabelas, pois há tipos de dados que o assistente de importação não consegue resolver, e por isso é necessário que nós decidamos qual é o melhor tipo para receber esse dado no Oracle.

No momento da edição de mapeamento marque a opção “Ignorar e recriar tabela de destino”

Por exemplo
De:

Para:

Após editar todos os mapeamentos vamos validar inconsistências nas tabelas que serão importadas e voltar para configurar se for necessário.

Agora vamos apenas para o próximo passo, apenas selecione “Executar imediatamente”.


Agora veja o que o assistente exibe e valide dados antes efetuar importação.


Agora basta concluir e acompanhar.

Acompanhamento

No erro volte e refaça a configuração.


Dica DateTime no SQL vira DATE no Oracle.


Espero que isso contribua para o crescimento da comunidade.

Um forte abraço.

Conexão com Oracle no Java dentro do Eclipse

Retomei meus estudos com Java, e acredito que algo bem simples como se conectar no banco de dados e efetuar uma consulta simples é o mínimo que eu poderia fazer, com a ajuda de um mestre em Java fiz essa pequena classe.

A primeira coisa que fiz foi definir um novo workspace no Eclipse, denominado CRUD como na figura abaixo:

worksapce

worksapce

Criei um novo Java Project com o nome CRUD, até aqui a estrutura está assim no Package Explorer

package explorer

package explorer

Adicionei um package denominado br.com.crud.acessoDados e adicionei uma classe chamada Principal.java. A estrutura já está assim:

package explorer

package explorer

A classe está da seguinte forma:


package br.com.crud.acessoDados;

public class Principal {
}

Agora vou criar o método main da maneira mais simples possível. E dentro dele crio um objeto do tipo Connection da biblioteca java.sql com o nome conexao que terá como valor o resultado do método ObterConexao().


public class Principal {
	public static void main(String[] args) throws Exception {
		Connection conexao = ObterConexao();

Agora adicionei o import da biblioteca java.sql, a classe está assim:

import java.sql.*;

public class Principal {

public static void main(String[] args) {

Connection conexao = ObterConexao();

}

}

Agora vamos criar o método ObterConexao, ele retornará um objeto do tipo Connection da biblioteca java.sql. Vamos manter o baixo acoplamento com o driver do Oracle nesse método, ao invés de utilizar import do jdbc, vamos passar o driver por uma das sobrecargas que o método getConnection da classe DriverManager tem.

Class.forName("oracle.jdbc.driver.OracleDriver");

conexao = DriverManager.getConnection(

"jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");

Vanos adicionar agora dois catch para para esse código, um que verificará se a classe de conexão existe e outro que verificará algum erro de SQL.

catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

Nosso método ficará assim

private static Connection ObterConexao() {
Connection conexao = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conexao = DriverManager.getConnection("jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conexao;
}

Agora vamos testar nossa conexão e fazer uma query muito simples no Oracle, vamos selecionar a data e hora do banco que será essa:


select sysdate from dual

Para executar essa query temos que utilizar um objeto do tipo Statement, também da biblioteca java.sql, e além dele, vamos utilizar um objeto do tipo ResultSet que representará os dados trazidos pelo Statement. O método main ficará assim no final de tudo:

public static void main(String[] args) throws Exception {

Connection conexao = ObterConexao();

Statement statement = conexao.createStatement();

String query = "SELECT sysdate FROM dual";

ResultSet resultSet = statement.executeQuery(query);

if (resultSet.next()) {

System.out.println(resultSet.getDate("sysdate"));

}

}

Esse é o código completo:

package br.com.crud.acessoDados;

import java.sql.*;

public class Principal {
	public static void main(String[] args) throws Exception {
		Connection conexao = ObterConexao();
		Statement statement = conexao.createStatement();

		String query = "SELECT sysdate FROM dual";

		ResultSet resultSet = statement.executeQuery(query);

		if (resultSet.next()) {
			System.out.println(resultSet.getDate("sysdate"));
		}
	}

	private static Connection ObterConexao() {
		Connection conexao = null;

		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conexao = DriverManager.getConnection(
					"jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return conexao;
	}
}

Com isso evoluí mais um pouco e espero que ajude a comunidade a evoluir também :).