Busca Todo

Loading

lunes, 12 de septiembre de 2011

Saber si una Tabla, Procedimiento Almacenado o Vista Existe en Sql Server


Maneras de Saber si una Tabla, Procedimiento Almacenado o Vista existe en Sql Server  (Table, Stored Procedure or View)




Lo primero que debemos hacer es ubicarnos en la base de datos donde queremos validar si existe el objeto


USE NombreBaseDatos


En el siguiente código vamos a encontrar la manera de realizar la ejecución.

Sql Server 2000, 2005

IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[NombreObjeto]'))
BEGIN
    select 'El objeto existe'
END

IF OBJECT_ID('dbo.NombreObjeto') IS NOT NULL
BEGIN
    select 'El objeto existe'
END



Sql Server 2005



IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[NombreObjeto]') AND type in (N'P', N'PC'))
BEGIN
    select 'El objeto existe'
END

IF OBJECT_ID('dbo.NombreObjeto') IS NOT NULL
BEGIN
   select 'El objeto existe'
END


Nota: NombreObjeto Es el nombre de la Tabla, Procedimiento Almacenado o Vista que estamos validando si existe en la base de datos de Sql Server  (Table, Stored Procedure or View)


Espero que le haya servido.

viernes, 17 de junio de 2011

Obtener nombre de la base de datos Actual en sql Server 2000, 2005, 2008

Con la siguiente instrucción DB_NAME () podemos ver el nombre de la base de datos actual. Sintaxis de uso DB_NAME (database_id).
 

Ejemplo: Supongamos que para este ejemplo estamos ubicado en una base de datos que se llama Mi_Base_Datos


SELECT DB_NAME()

Si la base de datos existe el regultado seria 

---------------------
 Mi_Base_Datos

 Otra manera de usarlo es indicando el database_id.

Ejemplo:

 SELECT DB_NAME(1)

-------------------
master



La manera de obtener el database_id es realizando una consulta de la siguiente manera en la tabla sysdatabases


USE master
SELECT dbid, DB_NAME(dbid) AS DB_NAME
FROM sysdatabases
ORDER BY dbid



Arrojando un resultado como el siguiente:

dbid   DB_NAME             
------ ---------------------
1      master
2      tempdb
3      model
4      msdb
5      Mi_Base_Datos
6      Mi_Base_Datos1

Uso del object_id Sql Server 2000

object_id Sql Server

En Sql Server 2000 Devuelve el número de identificador de un objeto en una base de datos.

Ejemplo: ejecutamos esto en nuestra base de datos

USE Nombre_Base_Datos
SELECT OBJECT_ID(N'MiTabla')




Si la tabla existe en la base de datos arrojaria un resultado como el siguiente

----------------
484281713


Si la tabla no exite nos arrojaria un
----------------
NULL



lunes, 13 de diciembre de 2010

GridView y SqlDatasource1 Tanto DataSource como DataSourceID

Tanto DataSource como DataSourceID están definidos en 'GridView1'. Quite una definición.


La solución para el problema que se esta presentando es la Siguiente:
            
            GridView1.DataSourceID = Nothing
            GridView1.DataSource = dt 'Selección de los datos
            GridView1.DataBind()

Espero les sirva.


martes, 19 de octubre de 2010

Como Actualizar un campo text, ntext o image

Como Actualizar un campo  text, ntext o image

Acá explicare con un ejemplo como actualizar un campo de tipo text, ntext o image en Sql Server

Ejemplo: 

DECLARE        @varVariable VARBINARY(16)
SELECT            @varVariable = TEXTPTR(campo_text )
FROM                Nombre_Tabla_Actualizar
WHERE              Campo_Condición = Alguna Condición
UPDATETEXT  Nombre_Tabla_Actualizar.campo_text @varVariable 0 0 'Texto que se va agregar'

Un poco sobre la sentencia:
  • UPDATETEXT  Actualiza un campo text, ntext o image existente; Se usa si se quiere remplazar una parte del texto.
  • Nombre_Tabla_Actualizar.campo_text nombre de la tabla y nombre del  campo que estamos actualizando.
  • @varVariable variable que contiene el texto que se va actualizar
  • 0 Este 0 inicial nos indica en que posición se va a iniciar a insertar el texto. Ejemplo: si tenemos "Hola" y el valor del 0 se cambia por 5 y queremos insertar "Mundo" el haría la inserción de la siguiente manera "Hola Mundo"
    UPDATETEXT  Nombre_Tabla_Actualizar.campo_text @varVariable 5 0 'Texto que se va agregar'
  • 0 Este segundo 0 en la instrucción indica cuantos caracteres se van a borrar después de la inserción del texto. Ejemplo Tengo en el campo text el Texto "Hola Prueba" y voy a insertar "Mundo " en la posición 5 Quedando "Hola Mundo Prueba" pero en el quiero borrar el texto que le sigue en este caso es Prueba entonces en vez del cero pongo 6 Quedando el texto Hola Mundo"
    UPDATETEXT  Nombre_Tabla_Actualizar.campo_text @varVariable 5 6 'Texto que se va agregar'
  • 'Texto que se va agregar' Texto que se va adicionar al que ya existe en nuestro campo


Cualquier duda o Sugerencia no dude en comentar

viernes, 28 de mayo de 2010

Como encriptar un Procedimiento almacenado (Stored Procedure) en Sql Server 2000/2005/2008

Acá dejo un ejemplo para Encriptar nuestros procedimientos almacenados (stored procedure) en Sql Server 2000/2005/2008


Con esta sentencia podemos Encriptar o cifrar nuestros procedimientos almacenados en SQL Server


Create Procedure dbo.usp_a_Encriptar
WITH ENCRYPTION
AS
BEGIN
    Select 'Este SP ya esta Encriptado'
END


Tener en cuenta:  Realizar copia del SP antes de compilarlo por que cuando se compile los usuario que no tengan privilegios para entrar a las tablas del sistema no podrán recuperar.


Espero les haya sido de Ayuda.

lunes, 9 de noviembre de 2009

Solucion de Compatibilidad Asp.net (C#, VB) Internet explorer 8

Solución de Compatiblidad en Asp.Net (C#, VB) para internet explorer 8 (IE8)

En el siguiente texto vamos a ver como solucionar alguna incompatiblidad de nuestros sitios web creados en asp.net que a la hora de ejecutarlos en intener explorer 8 no se visualiza como queremos.

Buenas, unos días antes agregue sobre como solucionar el menú en interenet exploer 8 (IE8) de nuestra programación de VS 2005 (Asp.Net), hoy pondré la solución en general para nuestras aplicaciones hechas VB, C# que acabara con el problema de nuestras páginas por problemas de compatibilidad.

El problema radica en que por ciertas razones el explorador de IE8 trae por defectos unos valores los cuales el no puede interpretar de nuestras aplicaciones. lo que debemos hacer es agregar el siguiente meta tag <meta equiv="X-UA-COMPATIBLE" content="IE=EmulateIE7"> a nuestras aplicaiones como se muestra en la siguiente figura.


Solo espero que esto les pueda servir de ayuda y asi seguir motivandome ne nuevas cosas....