miércoles, 27 de enero de 2016

Obtener el nombre del mes en SQL SERVER

Para obtener el nombre del mes en SQL SERVER usamos el siguiente código:
--
--
set language 'spanish'
DECLARE @NOMBRE_MES varchar(20) = (select datename(month, getdate()))
set language 'us_english'
sql server
Posted by InfoTacticas Soluciones  |  No comments

1/27/2016 08:41:00 a. m. Share:

0 comentarios:

miércoles, 20 de enero de 2016

Importación de archivo de ACCESS en SQL Server - ejemplo leyendo de un archivo de biométrico para importar asistencias

A continuacion mostraré la importación de datos de un archivo access que se hace desde un archivo obtenido de un lector biomético del tipo: Face Recognition – ZK VF300. El archivo en access que he usado lo pueden descargar de: https://drive.google.com/file/d/0B4k3msKW_QERX2N2aEx5V0phUGM/view?usp=sharing
Para entender de manera básica como leer un archivo de access usando OpenRowSet puedes leer mi entrada anterior

En este archivo access, solo se ha dejado 2 tablas: USERINFO y CHECKINOUT, la tabla UserInfo tiene los datos de 5 empleados de prueba, un UserId, el número de DNI, el nombre, el apellido paterno y el apellido materno. y en la tabla CheckInOut se tiene las marcaciones de estos empleados.
En el ejemplo siguiente vamos a crear una tabla que simule la estructura de una tabla que almacenará los datos de personas en nuestro sistema, esta tabla puede almacenar clientes o empleados, por eso se tiene un campo TipoPersona = 'C' o 'P' para clientes o personales respectivamente. A continuación muestro el código necesario para crear dicha tabla y llenar algunos datos.
create table PErsona(
 IdPersona int identity primary key,
 ApellidoPaterno varchar(50),
 ApellidoMaterno varchar(50),
 Nombres varchar(50),
 NroDocumento varchar(8),
 TipoPersona char(1) -- 'P': Personal 'C': Cliente
)

insert into Persona
values ('DAVALOS', 'ESPARZA', 'JORGE', '16647308', 'P')
insert into Persona
values ('MANTILLA', 'ZAPATA', 'LUCIANA', '16681509', 'P')
insert into Persona
values ('ESTRADA', 'QUISPE', 'JUAN PEDRO', '15853147', 'P')
insert into Persona
values ('GUTIERREZ', 'SANTILLANA', 'DAVID', '16632730', 'P')
insert into Persona
values ('FLORES', 'SANTOS', 'ANA LUISA', '20115634', 'P')
A continuación, leeremos el archivo att2000.mdb y luego haremos una correspondencia para obtener el IdPersona de la tabla Persona en nuestro sistema que le corresponde a cada uno de los trabajadores del registro del biométrico. El campo en común es el NroDocumento en nuestro sistema y el campo BadgeNumber de la tabla USERINFO.
SELECT U.USERID, U.BadgeNumber, U.Name, P.IdPersona
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
 'E:\MI BLOG\Importacion ACCESS\att2000.mdb'; 
 'admin'; '', USERINFO) AS U 
INNER JOIN PERSONA P ON U.BadgeNumber = P.NroDocumento

A continuación muestro el código de un procedimiento almacenado que muestra en parte como podríamos leer un archivo de access, cuya ruta es pasada como parámetro, a fin de usar una tabla temporal para llenar los datos del biométrico, desde la última marcación.
create procedure spr_ireImportarDatosDetectorBiometrico
@RutaArchivoImportar varchar(4000)=null
AS
SET NOCOUNT ON;

 DECLARE @sql nvarchar(MAX)=''
 DECLARE @UltimaMarcacionImportada datetime = null
 -- --> obtener la ultima marcacion de su tabla asistencias
 
 IF @UltimaMarcacionImportada is null
  set @UltimaMarcacionImportada = convert(datetime, '01/01/2000',103)
   
 CREATE TABLE #tablaImportada (
  Id int identity,
  NroDNI varchar(8),
  Nombre varchar(300),
  IdPersona int,
  FechaHoraMarcacion datetime,
  CHECKTYPE char(1)
 )
 
  
 SET @sql = '
 INSERT INTO #tablaImportada
 (NroDNI, Nombre, IdPersona, FechaHoraMarcacion, CHECKTYPE)
 SELECT U.BadgeNumber, U.Name, P.IdPersona, CHECKTIME, CHECKTYPE 
 FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'', ''' +  @RutaArchivoImportar + 
 '''; ''admin''; '''', CHECKINOUT) AS I 
  INNER JOIN OPENROWSET(''Microsoft.ACE.OLEDB.12.0'', ''' +  @RutaArchivoImportar +   
 '''; ''admin''; '''', USERINFO)
 as U on I.UserId = U.UserId 
 '+
 ' INNER JOIN Persona P on (U.BadgeNumber = P.NroDocumento and P.TipoPersona = ''P'')
 WHERE CHECKTIME > convert(datetime, ''' +  convert(varchar, @UltimaMarcacionImportada) + ''',103) ' + 
 ' ORDER BY CHECKTIME ASC ' 
 EXEC  sp_executesql @sql
 --Print @sql
 
 select * from #tablaImportada
 SET NOCOUNT ON;
GO

access sql server
Posted by InfoTacticas Soluciones  |  No comments

1/20/2016 01:17:00 p. m. Share:

0 comentarios:

Leer archivos de access desde SQL SERVER - Read ACCESS FILES FROM SQL SERVER - OPENROWSET

Cuando necesitemos leer el contenido de archivos de access, para importar dichos datos por ejemplo, y se necesite hacerlo via sentencias de T-SQL en SQL SERVER, debemos utilizar el comando OpenRowSet, este comando es utilizado para importar datos de diferentes fuentes a una Base de SQL Server en cualquiera de sus versiones. Algunas de esas fuentes de Datos puede ser una Base de Microsoft Access, un Libro de trabajo en Excel, un archivo de texto por algún tipo de delimitador, entre otros.

OPENROWSET('Nombre del proveedor', 'Fuente de Datos'; 'admin'; '', NOMBRE_TABLA)

El Nombre del Proveedor corresponde al proveedor de datos (OLE DB) según la fuente que estemos utilizando.
El Proveedor puede ser:
  • 'Microsoft.Jet.OLEDB.4.0' si la versión de access es la versión del 2003 o inferior.
  • 'Microsoft.ACE.OLEDB.12.0' si la versión de access es mayor a la versión del 2003.

La Fuente de Datos es el lugar donde se encuentra el archivo que deseamos leer
'admin' viene a ser el user_id, y el siguiente parámetro que está vacio es la clave del usuario.

El quinto parámetro es el nombre de la tabla que se leerá.
A continuación muestro un ejemplo concreto para leer un archivo de access.
SELECT U.USERID, U.BadgeNumber, U.Name 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
 'E:\MI BLOG\Importacion ACCESS\att2000.mdb'; 
 'admin'; '', USERINFO) AS U

El archivo en access que he usado lo pueden descargar de: https://drive.google.com/file/d/0B4k3msKW_QERX2N2aEx5V0phUGM/view?usp=sharing
Este archivo de access será usado para hacer un ejemplo de importación más completa que mostraré en una próxima entrada.
access sql server
Posted by InfoTacticas Soluciones  |  No comments

1/20/2016 08:55:00 a. m. Share:

0 comentarios:

martes, 19 de enero de 2016

Altos cargos de una empresa

A continuación se listan los principales altos cargos en una empresa y una definición breve de cada uno.
  • CEO (Chief Executive Officer) - Director Ejecutivo
  • Es el máximo responsable de la gestión y dirección administrativa de la empresa. El CEO es muchas veces el fundador y quien formula la misión, visión y el propósito de la empresa. Asimismo conecta el negocio con el mercado y tiene la última palabra en cuanto de decisiones de presupuestos e inversiones y dirige las estrategias de la empresa para que alcance sus objetivos.
  • COO (Chief Operation Officer) - Director de Operaciones
  • Supervisa como está funcionando el sistema de creación y distribución de los productos de la empresa para asegurarse que todos los sistemas funcionan como es debido. Es la mano derecha del CEO.
  • CMO (Chief Marketing Officer) - Director de Marketing
  • Es el responsble de las actividades de marketing, que incluyen la gestión de ventas, el desarrollo de productos, la publicidad, estudios de mercado y servicio al cliente. Su principal función es mantener una relación estable con los clientes finales.
  • CFO (Chief Financial Officer) - Director de Finanzas
  • Se encarga de la planificación económica y financiera de la empresa. Es quién decide la inversión, la financiación y el riesgo con el objetivo de conseguir que aumente el valor de la empresa para sus propietarios.
  • CIO (Chief Information Officer) - Director de TI
  • Es el responsable de los sistemas de tecnologías de la información de la empresa a nivel de procesos y desde el punto de vista de la planificación. El CIO analiza que beneficios puede obtener la empresa con el uso de las nuevas tecnologías, evalúa su funcionamiento para decidir cuáles son las más convenientes para la empresa a fin de proporcionar ventaja competitiva. Mejora la eficiencia de los procesos internos para garantizar una comunicación efectiva y mantener a la empresa trabajando de manera eficiente y productiva.
  • CTO (Chief Technology Officer) - Responsable Técnico de Tecnologías de la Información
  • Es el responsable técnico del desarrollo y correcto funcionamiento de los sistemas de información desde el punto de vista de la ejecución. Generalmente es el responsable del equipo de ingeniería y de implementar la estrategia técnica para mejorar el producto final.
  • CCO (Chief Comunication Officer) - Gestor de Comunicación
  • Se encarga de manejar la reputación de la empresa, contactar con los medios de comunicación y desarrollar estrategias de Branding,
gestión empresarial
Posted by InfoTacticas Soluciones  |  No comments

1/19/2016 08:25:00 a. m. Share:

0 comentarios:

miércoles, 13 de enero de 2016

Deshabilitar usuario "sa" o cambiarle de nombre

Para deshabilitar el usuario "sa" o cambiarlo de nombre usar el siguiente código:
use [master]
GO

ALTER LOGIN sa DISABLE;

ALTER LOGIN sa WITH NAME = [SQLsa];
sql server
Posted by InfoTacticas Soluciones  |  No comments

1/13/2016 08:56:00 p. m. Share:

0 comentarios:

Cambiar a modo mixto de autenticación en SQL Server y establecer clave a usuario SA

Para cambiar el modo de autenticación de seguridad
  1. En el Explorador de objetos de SQL Server Management Studio, haga clic con el botón secundario en el servidor y, a continuación, haga clic en Propiedades.
  2. En la página Seguridad, bajo Autenticación de servidor, seleccione el nuevo modo de autenticación del servidor y haga clic en Aceptar.
  3. En el cuadro de diálogo SQL Server Management Studio, haga clic en Aceptar para confirmar el requisito de reiniciar SQL Server.
  4. En el Explorador de objetos, haga clic con el botón secundario en el servidor y, a continuación, haga clic en Reiniciar.Si el Agente SQL Server se está ejecutando, también debe reiniciarse.

Para habilitar el inicio de sesión sa
  1. En el Explorador de objetos, expanda Seguridad, expanda Inicios de sesión, haga clic con el botón secundario en sa y, a continuación, haga clic en Propiedades.
  2. En la página General, quizás tenga que crear y confirmar una contraseña para el inicio de sesión.
  3. En la página Estado, en la sección Inicio de sesión, haga clic en Habilitado y, a continuación, en Aceptar.

Para habilitar el inicio de sesión sa con Transact-SQL
  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos. En la barra Estándar, haga clic en Nueva consulta.
  2. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.En el ejemplo siguiente se habilita el inicio de sesión sa y se establecer una nueva contraseña.
--
--
ALTER LOGIN sa ENABLE ;
GO

ALTER LOGIN sa WITH PASSWORD = 'sqlserver2012';
GO 
sql server
Posted by InfoTacticas Soluciones  |  No comments

1/13/2016 08:44:00 p. m. Share:

0 comentarios:

Get updates in your email box
Complete the form below, and we'll send you the best coupons.

Deliver via FeedBurner
back to top