Fuentes web
Entradas
Comentarios

Si la base de datos ha podido ser montada se puede utilizar el comando DBCC CHECKDB tal como se describe en:

http://www.cryer.co.uk/brian/sqlserver/howto_repair_a_database.htm escrito por Brian Cryer

He aqui una traducción:

Para determinar si una base de datos necesita ser reparada ejecutar:

dbcc checkdb('DB-NAME') with no_infomsgs

reemplazando  ’DB-NAME’ con el nombre de la base de datos.

Si el comando se completa sin desplegar errores la base de datos no necesita ser reparada.
Si los errores que aparecen contienen lineas con la leyenda:

... Run DBCC UPDATEUSAGE

entonces la base de datos NO necesita ser reparada, simplemente ejecute el siguiente comando:

dbcc updateusage('DB-NAME') with no_infomsgs

Si una base de datos no necesita ser reparada entonces:

  1. Si es posible, identifique porque la base de datos necesita ser reparada. Revisar el visor de eventos de sistema y de aplicaciones de windows para ver si hay registros de eventos que pudieran estar relacionados con el problema. Por ejemplo Por ejemplo ¿El problema es provocado por una falla de disco duro? Con frecuencia no será posible identificar la causa, pero en caso de ser posible recuerde corregir el problema detectado.
  2. Se sugiere que, en vez de reparar la base de datos, esta sea restaurada a partir del último respaldo confiable.

Para reparar la base de datos, primero debemos ponerla en modo monousuario (usuario único):

alter database DB-NAME set SINGLE_USER

en caso de que la base de datos sea MASTER o MSDB consulte  ”How to set a single database into single user mode“.

Una vez que la base de datos ha sido puesta en modo monousuario ya puede ser reparada. Existen varias opciones de reparación pero las dos que típicamente se utilizan son “REPAIR_REBUILD” y “REPAIR_ALLOW_DATA_LOSS”.  Sugiero, en primera instancia, usar:

dbcc checkdb('DB-NAME',REPAIR_REBUILD)

esto realizara cualquier reparación que SQL Server pueda realizar sin perder datos.

Si  (y sólo si)  SQL Server no puede reparar la base de datos sin pérdida de datos, entonces usar:

dbcc checkdb('DB-NAME',REPAIR_ALLOW_DATA_LOSS)

una vez que la base de datos ha sido reparada debe ser devuelta a modo multiusuario:

set database DB-NAME set MULTI_USER
(Estos comandos han sido probados en SQL Server 2005)

Abundando en el método Sort de listas genéricas, a continuación muestro dos formas de ordenar listas genéricas de objetos en VB.Net.

Para ambas formas utilizaré a modo de ejemplo la siguiente clase:

Public Class myKeyAndData
   Private pnKey As Integer
   Private pcData As String

   Public Sub New()
      pnKey = 0
      pcData = ""
   End Sub

   Public Sub New(ByVal tnKey As Integer, ByVal tcData As String)
      pnKey = tnKey
      pcData = tcData
   End Sub

   Public Property Key() As Integer
   Get
      Return pnKey
   End
   Get
   Set(ByVal value As Integer)
      pnKey = value
   End Set
   End Property
   Public Property Data() As String
   Get
      Return pcData
   End Get
   Set(ByVal value As String)
      pcData = value
   End Set
   End Property
End Class

METODO 1: Definir una clase adicional que implemente la interface IComparer.

Private Class ItemsComparer
Implements IComparer(Of myKeyAndData)
   Public Function Compare(ByVal p1 As myKeyAndData, _
         ByVal p2 As myKeyAndData) As Integer Implements _
         IComparer(Of myKeyAndData).Compare
      Return p1.Data.CompareTo(p2.Data)
   End Function
End Class

Ejemplo:

   Dim loLista as new List(of myKeyAndData)
   loLista.add(new miKeyAndData(1,"Rodolfo")
   loLista.add(new miKeyAndData(2,"Antonio")
   loLista.add(new miKeyAndData(3,"Mario")
   loLista.add(new miKeyAndData(4,"Carlos")
   loLista.Sort(New ItemsComparer)

METODO 2: Hacer que la clase implemente la interface IComparable.

Public Class myKeyAndData
Implements IComparable(Of myKeyAndData)
   Private pnKey As Integer
   Private pcData As String

   Public Sub New()
      pnKey = 0
      pcData = ""
   End Sub

   Public Sub New(ByVal tnKey As Integer, ByVal tcData As String)
      pnKey = tnKey
      pcData = tcData
   End Sub

   Public Property Key() As Integer
   Get
      Return pnKey
   End Get
   Set(ByVal value As Integer)
      pnKey = value
   End Set
   End Property

   Public Property Data() As String
   Get
      Return pcData
   End Get
   Set(ByVal value As String)
      pcData = value
   End Set
   End Property

   Public Function CompareTo(ByVal toOtro As myKeyAndData) As Integer _
            Implements IComparable(Of myKeyAndData).CompareTo
      return Data.CompareTo(toOtro.Data)
   End Function

End Class

Ejemplo:

   Dim loLista as new List(of myKeyAndData)
   loLista.add(new miKeyAndData(1,"Rodolfo")
   loLista.add(new miKeyAndData(2,"Antonio")
   loLista.add(new miKeyAndData(3,"Mario")
   loLista.add(new miKeyAndData(4,"Carlos")
   loLista.Sort()

Este Post ubicado en el Sitio de Soporte de SourceGear explica como configurar VB6 para integrarse a Vault o Fortress para el Control de Codigo Fuente (Source Code Control).

Extracto:

You may have to do some additional configuration to enable Vault integration with Visual Basic 6.

First, verify that Vault is your default Source Code Control Provider.

This setting is in the Vault Client under Tools->Options->General.

Next, in the VB menu select Add-ins->Add-in Manager. From the list of available Add-ins, highlight “Source Code Control” and make sure “Load on Startup” and “Loaded/Unloaded” are checked in Load Behavior.

Additionally, you may want to check your vbaddin.ini file.There should be an entry for source code control integration. If not add the following entry: vbscc=1

Additional details in this Microsoft KB article: http://support.microsoft.com/kb/305024/EN-US/

Tuve que regenerar un Dataset en Visual Studio 2005 en un proyecto de una aplicación de windows (WinForms), utilizando control de código fuente en un servidor de CVSNT utilizando el plugin CVSSCC NT de PushOk Software.

El dataset por regenerar ya existe en un subdirectorio “Reportes/Dataset” dentro del proyecto.

El problema es que no puedo generar el dataset si ya existe y tendria que borrarlo del proyecto o borrarlo localmente lo cual genera algunos problemas con la sincronizacion entre el archivo de control de proyecto de VS2005 y el control de codigo fuente. Continuar leyendo »

Extracto de un artículo en http://www.urbanext.uiuc.edu/diabetes_sp/0408.html:

Ejercicio como parte de su vida

Si usted camina con paso más rápido de lo normal, por 20 minutos cada día, usted podría quemar de 80 a 100 calorías. Esto es similar a una rebanada del pan o 2 galletas pequeñas. !No suena mucho!
Continuar leyendo »

Algunos métodos de búsqueda en listas y “arrays” de .NET framework (como Find(), FindAll(), Exists(), FindIndex(), etc) requieren que se les proporcione un “Predicate”.
Por ejemplo el método Find de la clase array tiene la siguiente firma (VB.NET):

Public Shared Function Find(Of T) ( _
    array As T(), _
    match As Predicate(Of T) _ ) As T

Continuar leyendo »

Seguir

Get every new post delivered to your Inbox.