Buscar este blog
sábado, 12 de septiembre de 2009
CONFIGURANDO JAVA EE5 SDK CON IDE ECLIPSE PARA JAVA
viernes, 4 de septiembre de 2009
PASO DE PARAMETROS DE REPORTING SERVICES 2008 A ORACLE 10g EXPRESS
domingo, 16 de agosto de 2009
CORRIGIENDO PERMISOS EN EL DIRECTORIO EXISTENTE /PostgreSQL/8.3/data ... INITDB: NO SE PUDO CAMBIAR LOS PERMISOS DEL DIRECTORIO PostgreSQL/8.3/data
Pues tristemente al momento de instalarlo me tope con casi 12 hrs, divididas en dos dias, de estar intentando instalarlo en mi computadora, la cual corre sistema operativo Windows. El error que mostraba en pantalla al terminar la instalacion era el siguiente:
"Installation may not complete correctly. The database cluster initialization failed."
y el error que resaltaba dentro del log de instalacion (que en mi caso se encuentra en la ruta "E:\Documents and Settings\usuario\Configuración local\Temp\install-postgresql.log") era el siguiente:
corrigiendo permisos en el directorio existente E:/PostgreSQL/8.3/data ... initdb: no se pudo cambiar los permisos del directorio E:/PostgreSQL/8.3/data¯: Permission denied
Failed to initialise the database cluster with initdb
Estuve buscando la mayor parte del tiempo en la red y encontre muchos comentarios respecto a dicho error, siendo la sugerencia de solucion mas comun al problema la asignacion de permisos al usuario postgres sobre la carpeta de instalacion de PostgreSQL, especialmente sobre la carpeta data de la instalacion. Despues de buscar y probrar y probar encontre este foro en donde se hablaba que habian intentado instalar PostgreSQL con el siguiente archivo postgresql-8.3.7-1-windows.exe que curiosamente era el mismo instalador que yo estaba ejecuando y pues una de las respuestas era que se probara utilizar otro ejecutable el postgresql-8.3.7-1-windows.exe, y pues despues de tanto haber estado intentando instalarlo, no estaba de mas esperar unos cuantos minutos a que se descargaran 35Mb de esta pagina.
Al final desinstale el Postgres que tenia instalado desde panel de control e instale el nuevo ejecutable que habia descargado e increiblemente todo solucionado :D
Al parecer el primer ejecutable que habia descargado posee algunos bugs y era por eso que no permitia dar el acceso a la carpeta de data ni ejecutar los scripts que necesitaba ejecutar. En el foro que comente antes algunas personas lograron solucionar su problema de esta forma, algunos otros no, pero gracias a Dios, fui uno de los que si pudo :D.
jueves, 4 de junio de 2009
COMO SABER SI EXISTE UNA TABLA EN SQL SERVER 2005 DESDE VB.NET
Estuve buscando durante aproximadamente 3 horas, viendo como conectarse con la libreria ADO, ejecutar la cadena de SQL con el metodo executeNonQuery, capturar el resultado de este con un listener y un monton de cosas, y al final escogi irme por un camino mas sencillo: SQL Server debia de almacenar los datos de las tablas que existian en algun lugar y yo sabia el nombre exacto de la tabla que queria buscar; sabia el nombre del esquema, del catalogo y el nombre de la tabla, asi que todo lo que tenia que hacer era una consulta a ese lugar donde SQL Server almacena el nombre de las tablas, y pues resulta que la consulta era tan sencilla como esto:
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_CATALOG = 'myCatalog' AND
TABLE_SCHEMA = 'mySchema' AND
TABLE_NAME = 'myTable';
Y listo, al final al pasar esto a codigo para saber si existia o no la tabla, todo quedo de esta forma:
Dim sqlString As String = "SELECT COUNT(1) FROM INFORMATION_SCHEMA.TABLES "
sqlString &= "WHERE TABLE_CATALOG = 'myCatalog' AND "
sqlString &= "TABLE_SCHEMA = 'mySchema' AND "
sqlString &= "TABLE_NAME = 'myTable'"
Dim objCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(sqlString, objConnection)
Dim exist As Integer = Integer.Parse(objCommand.ExecuteScalar().ToString())
If (exist = 1) Then
MsgBox("SI EXISTE!!!")
ElseIf (exist = 0) Then
MsgBox("NO EXISTE!!!")
End If
Espero que les sea de utilidad y que esto los pueda ayudar a solucionar sus problemas.
martes, 2 de junio de 2009
EJECUTAR BCP COMO PROCESO DESDE VB.NET 2008
Dim objProcess As System.Diagnostics.Process = New System.Diagnostics.Process
objProcess.EnableRaisingEvents = True
objProcess.StartInfo = New System.Diagnostics.ProcessStartInfo()
objProcess.StartInfo.UseShellExecute = False
objProcess.StartInfo.RedirectStandardOutput = True
objProcess.StartInfo.RedirectStandardError = True
objProcess.StartInfo.FileName = "bcp"
objProcess.StartInfo.Arguments = "mydatabase.dbo.mytable out c:\mybackup -S mydatabaseserver -c -t"""" -r \n -T -U sa"
objProcess.Start()
objProcess.WaitForExit()
Dim s1 As String = objProcess.StandardOutput.ReadLine()
Dim s2 As String = objProcess.StandardOutput.ReadLine()
If (s2.Substring(0, 5) = "Error") Then
archivoLog.WriteLine("ERROR " & Date.Now.ToString() & " " & s1 & " " & s2)
Return False
Else
archivoLog.WriteLine("OK " & Date.Now.ToString() & " Finalizando proceso de backup de la tabla POSCuentasXCobrarCliente.")
Return True
End If
Espero que este codigo le pueda ser de utilidad a alguien, y que no tenga que esta casi un dia buscando informacion sobre esto :D
lunes, 1 de junio de 2009
IMPORTAR TABLA DE SQL EXPRESS 2005 A ARCHIVO DE TEXTO SEPARADO POR PIPES (|)
Para realizar esto se necesita del comando bcp que viene como una utilidad por default al instalar el SQL Express 2005. Este proceso se realiza por completo en la consola de Windows, en este caso estoy utilizando Windows XP.
Cabe aclarar que para las versiones de SQL Express y Developer, no se puede ejecutar exitosamente este comando desde una computadora la cual no es la misma donde se encuentre la instancia del servidor donde esta la tabla de la base de datos que queremos exportar.
- Para iniciar abrimos la consola de Windows (Inicio -> Ejecutar -> cmd)
- En la consola de Windows abierta escribimos el siguiente comando:
Explicacion:
Primero se escribe el nombre de comando bcp.
Despues escribimos el nombre de la tabla que se desea exportar, iniciando con el nombre de la instancia de la base de datos donde se encuentra.
El texto out indica que se va a exportar la tabla.
Siguiente, se escribre el nombre del archivo destino, que es donde se guardaran los datos de la tabla.
El tag -S indica que se proveera el nombre del servidor de base de datos
El tag -c indica que se exportaran los datos de la tabla como carateres (esto lo recomiendo personalmente bastante)
El tag -t indica que se proveera del caracter para separar las columnas, en este caso el caracter sera el simbolo de pipe ()
El tag -r indica que se proveera el caracter de fin de linea, en este caso es el de fin de linea (\n)
El tag -T indica que se utilizara una trusted connection a la base de datos.
El tag -U indica que se proveera el nombre de usuario para conectar se a la base de datos.
Y listo hemos exportado la tabla seleccionada, utilizando como separador el caracter pipe ().
Espero que esto le sea de ayuda a alguien mas, y que no tenga que pasar mas tiempo investigando por la red, el punto es hacer las cosas que alguien mas ya ha hecho lo mas rapido posible, para poder dedicar el tiempo a algo mas importante.
viernes, 22 de mayo de 2009
COMO ESCRIBIR LOS SIMBOLOS "MAYOR QUE" (>) Y "MENOR QUE" (<) EN HTML
< Menor Que = <
> Mayor Que = >
PD: Por cierto... para mostrar el simbolo amperson (&) se utiliza la cadena &.
CARGANDO INFORMACION DE UN ARCHIVO XML A UN DATASET
En este codigo lo que se hace es crear un string que contiene el path fisico del archivo xml el cual se encuentra dentro de mi mismo proyecto web. Posterior a esto declaro un nuevo DataSet y esta parte que viene ahora es la que no comentaban en la mayoria de sitios que encontre y era el crear un nuevo DataTable. Asi que se crea el nuevo DataTable se le asignan las columnas que tendra que son creadas en relacion a los campos que tiene el archivo XML, despues de esto agregamos la DataTable al DataSet, por cierto el nombre de la tabla tambien se debe escribir en funcion del archivo XML, despues utilizamos el metodo ReadXml del DataSet y despues de esto podemos ordenar el cotenido en funcion de algun campo si asi lo deseamos.
En mi caso deseaba agregar el resultado a un DropDownList, asi que a cotinuacion dejo un ejemplo del archivo XML y el codigo que utilice en VB.NET.
archivo.xml
<?xml version="1.0" encoding="utf-8" ?>
<reporte>
<nombre_reporte>
<id>1</id>
<nombre>Reporte 1</nombre>
</nombre_reporte>
</reporte>
archivo.aspx.vb
Dim archivoXml As String = Server.MapPath("./Includes/XML/XMLReportNameFile.xml")
Dim dsXmlData As DataSet = New DataSet
Dim dtXmlTable As DataTable = New DataTable("nombre_reporte")
dtXmlTable.Columns.Add("id", Type.GetType("System.Int32"))
dtXmlTable.Columns.Add("nombre", Type.GetType("System.String"))
dsXmlData.Tables.Add(dtXmlTable)
dsXmlData.ReadXml(archivoXml, XmlReadMode.InferSchema)
dsXmlData.Tables("nombre_reporte").DefaultView.Sort = "id"
ddlReporte.DataSource = dsXmlData.Tables("nombre_reporte").DefaultView
ddlReporte.DataTextField = "nombre"
ddlReporte.DataValueField = "id"
ddlReporte.DataBind()
PD: Por cierto para poder utilizar la clase DataSet se debe de importar la libreria System.Data y el ddlReporte es el nombre del dropdownlist
martes, 19 de mayo de 2009
HACIENDO UN BACKUP Y RESTAURANDO UN SITE COLLECTION
- Utilizar las herramientas graficas que provee el administrador de MOSS, en donde nos permite hacer un backup de un site collection o de una web application para luego ser restaurada, pero resulto que esto solo me funciono dentro de la misma farm. Intentando hacerlo desde otra farm probe asignarle permisos a todo para que se pudiera realizar la operacion, pero siempre mostraba un error que no se tenian permisos para el archivo xml que guarda los datos de configuracion de los backups ralizados.
- La segunda forma fue utilizando SQL Server Express 2005, para lo cual se trataba de hacer backup a la base de datos de la web application, despues restaurar esta base de datos en el servidor de base de datos de la nueva farm, crear una nueva web application, y posterior a eso relacionar la web application con la base de datos restaurada. Resultado? tampoco funciono, no se pudo relacionar de forma correcta la web application con la base de datos restaurada.
Despues de esto lei un poco sobre el comando stsadm que provee MOSS 2007, asi que me decidi a probarlo; y pues resulto que si funciono, lo que se debia de hacer era ejecutar el comando export del stsadm para sacar la web application y el site collection, mover el archivo generado a la nueva farm y ahi ejecutar el comando import del stsadm.
Para ejecutar el stsadm se debe de ir a la carpeta donde se encuentra el .exe desde la consola, la cual en una instalacion estandar se encuentra en la siguiente ubicacion:
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\"
La sintaxis de los comandos para exportar e importar son las siguientes:
Export (realiza el backup):
stsadm -o export -url [http://nombre_del_sitio:puerto] -filename [nombre_del_archivo_de_backup]
Import (reestablece el backup, necesita que ya exista la web application creada con un site collection creado):
stsadm -o import -url[http://nombre_del_sitio:puerto] -filename [nombre_del_archivo_de_backup]
lunes, 9 de marzo de 2009
CAMBIAR EL PUERTO POR DEFECTO DE WAMPSERVER 2.0
- Se debe de iniciar el servicio de WampServer de forma que el icono de WampServer se muestre en la barra de tareas del escritorio de Windows.

- Se daba clic sobre el icono anterior de forma que despliegue el menu contextual del WampServer. En este menu nos movilizamos a traves de la siguientes opciones: Apache > httpd.conf, y de estar forma se abrira el archivo con el mismo nombre. Este archivo puede ser encontrado tambien en la ubicacion: C:\wamp\bin\apache\Apache2.2.11\conf.
.bmp)
- En este archivo se debe de editar la linea 46, en donde se debe de escribir el numero de puerto que se desea utilizar, en este caso usare el puerto 82.
- En este mismo archivo nos dirigimos a la linea 171, en donde se debera de agregar el mismo numero de puerto de la linea anterior, en este caso estamos utilizando el 82.
- Ahora debemos de editar otro archivo para esto, nos dirigimos a la ubicacion C:\wamp y abrimos el archivo wampmanager.tpl.
- En este archivo se deben de editar las lineas 120, 121 y 122, agregando el puerto el cual utilizara la conexion de estos servicios. Aqui se debe escribir el puerto que se escribio en el archivo anterior; en este caso es el puerto 82.
- Ahora guardamos ambos archivos y los cerramos, y reiniciamos el servicio de WampServer y con esto podremos escribir en la barra de URL del navegador de Internet: http://localhost:82 y con esto nos mostrara la pagina de WampServer en el navegador de Internet.
jueves, 5 de marzo de 2009
AUN SIRVE EL OIDO :D
No esta terminada aun, es unicamente el intro, pero es lo que por el momento me ha permitido lograr este tiempo lejos de la guitarra. Cualquier correcion que encuentren, por favor haganmelo saber, asi se podra tener esta cancion lo mejor posible.
domingo, 18 de enero de 2009
MOSTRANDO ESPACIOS EN BLANCO EN HTML