Configuring FreeRADIUS for LDAP over SSL Authentication « Paul Gerard Porter 13/11/2014
Posted by Gonzalo Rosas in IT Workers.add a comment
Configuring FreeRADIUS for LDAP over SSL Authentication « Paul Gerard Porter.
Creando inicios de sesión y usuarios en SQL Server 2008 23/01/2014
Posted by Gonzalo Rosas in Base de datos.Tags: login, T-SQL, user
add a comment
Para mi gusto, es más sencillo crear usuarios sobre línea de comandos que por asistentes, he aquí los comandos para hacerlo en T-SQL.
Use master;
go
CREATE LOGIN Remoto1
WITH PASSWORD = ‘utim’;
go
USE Becados;
go
CREATE USER Remoto1_Becado FOR LOGIN Remoto1;
GO
Ojo, si ya estas trabajando con SQL Server 2012, la sintaxis es diferente.
La diferencia entre inicio de sesión y un usuario de la base de datos, la específica muy bien el Gurú de Visual Basic “El GUILLE”, aquí.
Referencias.
Para crear Usuarios: http://msdn.microsoft.com/es-es/library/ms173463(v=sql.105).aspx
Para crear Inicios de sesión: http://msdn.microsoft.com/es-es/library/ms189751(v=sql.100).aspx
T-SQL Consultas con Pivot (referencias cruzadas parte 1) 20/01/2014
Posted by Gonzalo Rosas in Base de datos, IT Workers.Tags: join, pivot, T-SQL
2 comments
Para mis alumnos del curso de BDA.
El sábado pasado me atoré con una consulta T-SQL en clase. Aquí les dejo dos soluciones. Pero me gustaría que me comentaran.
- ¿Cuál es el enunciado de la consulta?
- ¿Cuál de las dos alternativas les parece más sencilla?
Les prometo que en la semana les doy la explicación de cada una.
Alternativa 1.
Select E.Escuela, IsNull(M.Mujeres,0) as Mujeres, IsNull(H.Hombres,0) as Hombres
From ( Select Escuela, count (curp) as Mujeres
From Becado
Where Substring (curp,11,1) = ‘M’
Group by Escuela
) M
right join (
Select Distinct Escuela
From Becado
) E
On M.Escuela = E.Escuela
left join (
Select Escuela, count (curp) as Hombres
From Becado
Where Substring (curp,11,1) = ‘H’ Group by Escuela
) H
On H.Escuela = E.Escuela
Alternativa 2
Select Escuela, M as Mujeres, H as Hombres
From (
Select Escuela, Substring (curp,11,1) as Genero, curp
From Becado
) Origen
Pivot (
Count (Origen.curp)
For origen.Genero In (M,H)
) as P;
Función en T-SQL para calcular la edad con base a la CURP 14/01/2014
Posted by Gonzalo Rosas in Base de datos, IT Workers.Tags: Curp, Function, T-SQL
4 comments
Los ejercicios de este cuatrimestre en Base de Datos para Aplicaciones, piden constantemente la edad para presentar una serie de datos, pero solo tenemos la curp para calcularla,es por eso que les dejo aquí un función en T-SQL para obtener la edad. Ya la había presentado en Oracle por lo que solo se hicieron algunos ajustes, espero les sirva. Si tienen una forma más simple para calcularla me lo hacen saber por favor.
Create function dbo.fEdadCurp (@Curp char(18))
Returns int
as
Begin
Declare @Edad int;
Declare @Año int;
Declare @Mes int;
Declare @Dia int;
Declare @AñoActual int;
Declare @MesActual int;
Declare @DiaActual int;
Set @AñoActual = Datepart(year,Getdate())
Set @MesActual = Datepart(month,Getdate())
Set @DiaActual = Datepart(day,Getdate())
Set @Año = 1900+ Cast (Substring (@curp,5,2) as int);
Set @Mes = Cast (Substring (@curp,7,2) as int);
Set @Dia = Cast (Substring (@curp,9,2) as int);
Set @Edad = @AñoActual-@Año-1;
If @MesActual>= @Mes
Begin
If @DiaActual>=@Dia
Begin
Set @Edad = @Edad +1;
End
End
Return (@Edad);
End;
Referencias:
http://msdn.microsoft.com/es-es/library/ms186755.aspx
http://blog.sqlauthority.com/2007/07/07/sql-server-convert-text-to-numbers-integer-cast-and-convert/
http://msdn.microsoft.com/es-es/library/ms174420.aspx
http://www.mssqltips.com/sqlservertip/1712/sql-server-function-to-convert-integer-date-to-datetime-format/
Creando funciones en SQL server 2008 R2 13/01/2014
Posted by Gonzalo Rosas in Uncategorized.add a comment
Para la consulta 16 de la práctica Consultas avanzadas de BDA es adecuado crear una función que permita conocer la cantidad de alumnos que están becados en la Institución
Create function dbo.NoAlumnoEscuela (@Escuela varchar(60))
Returns int
As
Begin
Return (Select COUNT(añoescolar)
From Becado
Where Escuela= @Escuela
);
End
Es de resaltar cómo se utiliza la cláusula Return. La consulta quedaría de la siguiente manera.
Select AñoEscolar, COUNT(añoescolar)*100/dbo.NoAlumnoEscuela(‘B. I. N. E.’) as ‘Porcentaje de alumnos’
From Becado
Where Escuela= ‘B. I. N. E.’
Group by AñoEscolar
Referencias:
SQL server eliminar espacios en blanco 13/01/2014
Posted by Gonzalo Rosas in Base de datos.Tags: RTrim, SQL Server
1 comment so far
En la clase de hoy de BDA, nos topamos conque algunos de los datos de nuestras tablas tenían espacios en blanco y no permitían construir adecuadamente las consultas.
¿Ya vieron donde está la comilla de cierre del nombre de la escuela.? Esto es por que contiene espacios en blanco de más.
Solución.
Update Becado Set Escuela = RTRIM(Escuela)
Ahora sí podemos trabajar como Dios manda.
Saludos.
Referencias
Error en la conexión a una tabla en Oracle 28/10/2013
Posted by Gonzalo Rosas in Base de datos.add a comment
Hola a todos.
Resulta que como práctica, estamos haciendo conexiones a un servidor Oracle 11g Express que se encuentra en una máquina remota, hemos abierto los puertos correspondientes y verificado que los permisos de acceso a la base de datos sean los correctos; entiendo que no es una buena práctica usar el usuario System para hacer consultas a las tablas y menos de manera remota, pero por ahora lo haremos así; resulta entonces que haciendo una consulta a la tabla employees de nuestra BD nos provoca el error «La tabla o vista no existe«, esto es falso, ya que la estamos viendo en el imagen de abajo, por un momento pensé que me habían jugado la broma y que habían borrado o modificado el nombre del tabla, pero ahí estaba.
La solución es más sencilla de lo que puedan imaginar, resulta que Oracle necesita que se le especifique el esquema donde se encuentra la tabla a consultar, por ejemplo Select * from HR.Employees y eso es todo.
Esto me deja de experiencia, para que en los próximos accesos de bases de datos sin importar el DBMS se le especifique el esquema de datos, aunque lo crea innecesario en algunos casos.
Byte.
Función TEXTO en Excel 12/10/2012
Posted by Gonzalo Rosas in IT Workers.add a comment
Hola a todos.
Resulta que necesitaba una serie de letreros con fecha abreviada con una estructura de: Semana X. 08-oct al 12-oct.
Son simplemente 8 letreros como esos, pero como soy fanático de la automatización, quise hacer una fórmula en Excel para dicha tarea. Entonces me tope con la función TEXTO que me fue de mucha utilidad, considerando que tenía los campos Número de semana, Fecha inicial y Fecha final.
La fórmula en la columna D quedó así =»Semana » &A3 & «. » &TEXTO(B3,»dd-mmm») & » al » & TEXTO(C3,»dd-mmm») & «.»
A | B | C | D |
Semana | Lunes | Viernes | Fecha |
1 | 08-oct | 12-oct | Semana 1. 08-oct al 12-oct. |
2 | 15-oct | 19-oct | Semana 2. 15-oct al 19-oct. |
3 | 22-oct | 26-oct | Semana 3. 22-oct al 26-oct. |
4 | 29-oct | 02-nov | Semana 4. 29-oct al 02-nov. |
5 | 05-nov | 09-nov | Semana 5. 05-nov al 09-nov. |
6 | 12-nov | 16-nov | Semana 6. 12-nov al 16-nov. |
7 | 19-nov | 23-nov | Semana 7. 19-nov al 23-nov. |
¿Qué práctico no?
Mostrando datos en Mysql desde Java 04/08/2012
Posted by Gonzalo Rosas in Base de datos, UTIM.add a comment
¿Por qué no muestra los datos este programa?
/** * Ejemplo para la consulta de una * base de datos de Mysql desde Java */ package consola; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * @author Grosas * */ public class AccesoDb { /** * @param args */ public static void main(String[] args) { Connection conexion; Statement comando; ResultSet rs; String scriptSQL; probarDriverMysql (); conexion = conectarBD (); // Extrayendo datos de la BD try { comando = conexion.createStatement(); scriptSQL ="Select Idcerdo, identificador, nombre from cerdos"; //Ejecutando la consulta; rs = comando.executeQuery(scriptSQL); while (rs.next()){ System.out.println(rs.getString(1) + "|" + rs.getString(2)+ "|" + rs.getString(3)); } //cerrando la conexión conexion.close(); } catch (SQLException e) { e.printStackTrace(); } } private static Connection conectarBD() { // TODO Método para conectar a la base de datos bajo las credenciales dadas. Connection con; try{ con = DriverManager.getConnection("jdbc:mysql://localhost/jazmin","Student1","Uim"); System.out.println("¡Ok!, Se se pudo conectar al servidor."); } catch (SQLException e){ System.out.println("No se pudo conectar al sevidor"); return null; } return con; } private static void probarDriverMysql() { // TODO Método para probar si está instalado y configurado adecuadamente el driver Mysql try{ Class.forName("com.misql.jdbc.Driver"); System.out.println("¡Ok!, Se encontró la clase."); } catch (Exception e){ System.out.println("¡Error!, No se encontró la clase."); e.printStackTrace(); }//catch }// probarDriverMysql } // class