viernes, 12 de noviembre de 2010

Conectar con SQL Server desde SQL Developer

Seguro que ya conoces el cliente para conectar con bases de datos Oracle SQL Developer (http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html). Pero algo muy cómodo es conectar también con SQL Server desde el mismo SQL Developer.

Encontré una web donde explicaban como hacerlo, pero parece que no me funcionó correctamente.
(http://www.packtpub.com/article/oracle-sql-developer-tool-1.5-sql-server-2005)

Según pude comprobar el fichero que se descargaba ocupaba 0Bytes y no sé porqué. Pero encontré un enlace al fichero bueno en la web de Oracle.

http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/162033.xml

y descargando este fichero

http://download.oracle.com/otn/java/sqldeveloper/oracle.sqldeveloper.thirdparty.drivers.sqlserver.58.17.zip

Podría configurar SQL Developer con este drivers de tercero y conecté sin problemas con mi SQL Server.

lunes, 6 de septiembre de 2010

Diccionario Hexadecimal

He creado un script en bash para generar un diccionario en Hexadecimal. El script genera todas las combinaciones posibles para 128bit en Hexadecimal.

El resultado son todas las combinaciones posibles para 32 dígitos de en Hexadecimal, aún no he probado sacar el volcado a un fichero para ver lo que ocupa.

for a in {a..f}{0..9} {0..9}{a..f}; do # 4bit
for b in {a..f}{0..9} {0..9}{a..f}; do # 8bit
for c in {a..f}{0..9} {0..9}{a..f}; do # 12bit
for d in {a..f}{0..9} {0..9}{a..f}; do # 16bit
for e in {a..f}{0..9} {0..9}{a..f}; do # 20bit
for f in {a..f}{0..9} {0..9}{a..f}; do # 24bit
for g in {a..f}{0..9} {0..9}{a..f}; do # 28bit
for h in {a..f}{0..9} {0..9}{a..f}; do # 32bit
for i in {a..f}{0..9} {0..9}{a..f}; do
for j in {a..f}{0..9} {0..9}{a..f}; do
for k in {a..f}{0..9} {0..9}{a..f}; do
for l in {a..f}{0..9} {0..9}{a..f}; do
for m in {a..f}{0..9} {0..9}{a..f}; do
for n in {a..f}{0..9} {0..9}{a..f}; do
for o in {a..f}{0..9} {0..9}{a..f}; do
for p in {a..f}{0..9} {0..9}{a..f}; do # 64bit
for q in {a..f}{0..9} {0..9}{a..f}; do
for r in {a..f}{0..9} {0..9}{a..f}; do
for s in {a..f}{0..9} {0..9}{a..f}; do
for t in {a..f}{0..9} {0..9}{a..f}; do
for u in {a..f}{0..9} {0..9}{a..f}; do
for v in {a..f}{0..9} {0..9}{a..f}; do
for w in {a..f}{0..9} {0..9}{a..f}; do
for x in {a..f}{0..9} {0..9}{a..f}; do
for y in {a..f}{0..9} {0..9}{a..f}; do
for z in {a..f}{0..9} {0..9}{a..f}; do
for aa in {a..f}{0..9} {0..9}{a..f}; do
for ab in {a..f}{0..9} {0..9}{a..f}; do
for ac in {a..f}{0..9} {0..9}{a..f}; do
for ad in {a..f}{0..9} {0..9}{a..f}; do
for ae in {a..f}{0..9} {0..9}{a..f}; do
for af in {a..f}{0..9} {0..9}{a..f}; do # 128bit
echo $a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$aa$ab$ac$ad$ae$af;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;
done;


Cuidado con lo que utilizáis este diccionario, porque podría utilizarse para descifrar redes Wifi con encriptación WPA.

Lo "normal" es que estas redes tengan únicamente 64bit de encriptación.

lunes, 30 de agosto de 2010

Problemas al descomprimir rar multi fichero en Debian lenny

He tenido problemas al intentar descomprimir un .rar compuesto por un montón de ficheros .rar que fue separado en partes pequeñas (de 100MB) para hace más cómodo el traslado a dispositivos ópticos.

El problema es que no consigue descomprimir el fichero, pero encontré la solución. Pasa por modificar el fichero /etc/apt/sources.list y añadir la etiqueta non-free en el repositorio principal de Debian (donde se encuentra el paquete unrar).

Una vez añadida la etiquete tendremos que ejecutar aptitude update para que vuelva a capturar la lista nueva de paquetes y después tendremos que volver a ejecutar la instalación de unrar (aptitude install unrar) y esta vez se traerá la versión non-free.

Una vez más intenta descomprimir el .rar con multipartes que tenías problemas y ahora sí será descomprimido.

martes, 24 de agosto de 2010

Importar datos a una tabla Oracle desde un SQL Server (problemas con decimales)

Para esto Oracle ha creado una cosa llamada Heterogeneous Services, es una "aplicación" que conecta utilizando un ODBC y un database link bases de datos NO Oracle con tu DB Oracle.

Esto es muy útil cuando tienes que migrar algunos datos a un Oracle o ejecutar un proceso que lleve cada cierto tiempo datos a tu Oracle. Yo lo utilizo para llevar datos a un DWH que tengo en un Oracle 11g.

Uno problema muy preocupante llego cuando me dí cuenta que los datos de tipo numéricos reales (con decimales) en Oracle entraban como enteros. Me estaba truncando los decimales y esto no era muy agradable porque después los resultados eran distintos desde Oracle frente a los devueltos desde SQL Server.

Al final conseguí solucionarlo con una configuración muy rápida en el fichero de configuración del HS. Simplemente añadiendo la etiqueta:
C:\app\Administrador\product\11.1.0\db_1\hs\admin\initgd4odbc.ora
HS_LANGUAGE=AMERICAN_AMERICA.WE8MSWIN1252


Al parecer Oracle estaba interpretando el "." de los millares como la "," de los decimales. La poner HS_LANGUAGE=AMERICAN_AMERICA.WE8MSWIN1252 lo interpreta correctamente.