martes, 8 de mayo de 2012

Crear dblink oracle

Para poder acceder a otra base de datos de Oracle lo mas sencillo para crear el dblink y luego simplemente referenciarlo se puede de la siguiente forma
CREATE DATABASE LINK CATALOGOS CONNECT TO CATALOGOS IDENTIFIED BY abcdefg123 USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = Server)(PORT = 1521)) (CONNECT_DATA = (SID = XE)))'

miércoles, 22 de junio de 2011

Numerico Oracle

Después de unas inconsistencias en la base de datos de oracle necesitaba un método para verificar que fuera numérico un campo de texto, de forma nativa no hay un método pero se puede solucionar con otros metodos

LENGTH(TRIM(TRANSLATE(string1, '0123456789',' ')))


con esta función si nos regresa null significara que el campo es totalmente numérico si nos regresa un valor numérico significara la cantidad de caracteres que no concuerdan con el valor numerico

miércoles, 1 de junio de 2011

Matar sessiones en oracle

Cuando estuve con mis primeras experiencias con oracle fue con .net y con store procedures, estuve con grandes cantidades de informacion me fue dificil hacer las consultas, ya que estas consultas eran a otras bases de la empresa con dblinks de oracle entonces al no conocer la informacion que habia las consultas se hacian eternas y no podia esperar a que respondieran y cuando las detenia con oracle sql developer a veces se colgaba mi session y pues lo mas sencillo fue matar la sesion desde otra sesion y es tan sencillo como primero identificarla

con esta consulta a la vista que tiene oracle

select a.sid, a.serial# serial, a.username, a.machine, a.program, a.status, b.event, b.seconds_in_wait
from v$session a, v$session_wait b
where b.sid = a.sid
and a.username is not null
and status = 'ACTIVE'
order by b.seconds_in_wait


y para matarlas es con

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE

para que sea de manera inmediata sin el IMMEDIATE lo pone en espera para matarla y ya solo nos conectamos de nuevo y ya

domingo, 29 de noviembre de 2009

viernes, 27 de noviembre de 2009

Excel 2007 y VB .NET 2008

Bueno vamos a empezar con una nueva etapa del blog la programación :) ahora si lo voy a actualizar mas seguido (espero)



Como lo dice el titulo de la entrada vamos a ver como podemos abrir una instancia de Excel y leer los datos de este

Primero importamos la librería correspondiente

Imports Microsoft.Office.Interop


Como mencione antes es para 2007 en caso de versiones anteriores se importa otra libreria

Ademas de importar la libreria tenemos que agregar la referencia al ensamblado de excel en Project>>Add Reference>> pestaña "COM" y luego seleccionamos "Microsoft Excel" en este caso es la 12.0


Despues en pocas palabras creamos la referencia a la aplicacion, luego al libro,luego a las hojas y despues a la hoja de trabajo

Dim xlsapp As Excel.Application
Dim libxls As Excel.Workbook
Dim hoja1xls As Excel.Worksheet
Dim hojasxls As Excel.Sheets


Ya teniendo la hoja de trabajo usarla celda por celda

Cuando finalicemos de leerlo cerramos el libro y la aplicación

Bueno ahora si a ver el codigo completo



Try

Dim xlsapp As Excel.Application
Dim libxls As Excel.Workbook
Dim hoja1xls As Excel.Worksheet
Dim hojasxls As Excel.Sheets
xlsapp = New Excel.Application()
'xlsapp.Visible = True /// para ver o no el libro
libxls = xlsapp.Workbooks.Open("arhivo_excel.xlsx")
hojasxls = libxls.Sheets
hoja1xls = hojasxls("hoja1") /// nombre como viene la hoja
Dim Texto As String = hoja1xls.Range("a1").Text
libxls.Close(False)
xlsapp.Quit()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try



Nos vemos

Kings of Power 4 Billion%

Kings of Power 4 Billion % from Zarradeth on Vimeo.