dimecres, 7 de març del 2012

Còpies comprimides amb SQL Server 2008 R2

 

Una opció no massa coneguda del SQL Server 2008 R2 són les còpies o backups comprimits. A l’hora de fer la còpia de seguretat d’una base de dades, tenim l’opció de fer-la comprimida. És una opció que no es veu massa, ja que queda tallada per la grandària del formulari de còpia, tan sols cal entrar a la pàgina de ”opciones” i fer més gran el formulari per la part de baix. Llavors apareix l’apartat de “Compresión”. És aquí on es pot escollir quin tipus de compressió volem fer a la base de dades:

image

Per defecte, la configuració predeterminada del sistema és de no comprimir les còpies de seguretat. Així que si no vols tenir que canviar cada cop aquesta opció, cal canviar l’opció per defecte del servidor. Per canviar aquesta opció, cal anar a les propietats del servidor, a la pàgina “Configuración de base de datos”, activar la opció “Comprimir copia de seguridad”, finalment reiniciar el servidor i a partir d’aquest moment per defecte les còpies de seguretat seran comprimides:

image

dijous, 19 de gener del 2012

Afegir "Tags" al Outlook

Ja fa temps que un company de feina em va demanar si coneixia algun add-in o alguna cosa semblant per poder afegir "Tags" als correus en el outlook. En el seu moment ho vaig buscar i després de trobar-ne uns quants i provar-los, no n'hi va haver cap que em fes el pes. Al marge de que tornaven el outlook molt lent. Avui, he tornat a buscar i n'he trobat un que de moment m'agrada molt:


www.taglocity.com

Estic fent proves i al marge dels Tags i la seva recerca m'ha agradat molt la possibilitat de poder assignar accions als Tags. Vull dir, que em puc crear el tag "Bug" i assignar-li l'acció de que quan el posi em crei una tasca al outlook amb el correu adjunt, i que el mogui a la carpeta de bugs. Això et dona un munt de possibilitats. I el millor de tot, gratis.
Hi ha una versió més complerta de pagament a uns 20 $. Us animo a que la proveu ja que segurament la versió gratuïta ja us anirà molt bé.

diumenge, 6 de novembre del 2011

Problemes TrueOleDBGrid80 al crear columnes desenllaçades de dades en temps d'execució

Si en VB6 volem crear una TrueOleDBGrid80.Column desenllaçada de dades (unbound) i en temps d'execució, és obligatori que després de crear la columna o columnes cridem a la funció  "HoldFields" ja que si no es fa, la columna es crea però en temps d'execució no es poden entrar dades. Aquest és l'exemple a seguir:

Dim Col As TrueDBGrid80.Column
With TDBGrid1
     Set Col = .Columns.Add(1)
     Col.Visible = True
     Col.Caption = "Unbound"
     .HoldFields
     .ReBind
End With

Us deixo l'enllaç relacionat a sota:

http://helpcentral.componentone.com/nethelp/truedbgrid8/default.htm?turl=creatingunboundcolumns.htm

dimecres, 26 d’octubre del 2011

Consulta SQL per veure totes les opcions d'una plantilla i quines estan marcades

Quan ens trobem que he fer una consulta d'una taula on per una determinada opció cal saber si està marcada o no, moltes vegades ho fem de la següent manera:

    ColParametres=TornaTotsElsParametres()
    for each Parametre in ColParametres
        if MiraSiElClientTeElParametreMarcat(codi_client, codi_parametre) then
            'parametre marcat
        else
            'parametre NO marcat
        endif
    next Parametre

Mostrant la taula de la següent manera:


Això comporta el problema que la funció MiraSiElClientTeElParametreMarcat() també fa un accés a la base de dades, i fem aquest accés per cada paràmetre de la llista. Per tant accedim a la base de dades tantes vegades com paràmetres tenim a la taula base.

Una millor manera de fer-ho, suposant que la taula "Paràmetres" té els camps "codi_client", "codi_parametre"; seria fent una consulta única de la següent manera:


    SELECT Codi_Parametre, Descripcio
    (SELECT Codi_Parametre FROM Parametres_Clients
    WHERE Codi_Client = 'codidelclient'
    AND codi_parametre=Parametres.Codi_Parametre) AS Codi_Parametre_Client"
    FROM Parametres

LLavors el codi quedaria com:

    if tb!Codi_Parametre_Client Is Null then
        'parametre No marcat
    else
        'parametre marcat
    endif

dilluns, 24 d’octubre del 2011

Accedir via "for each" a una colecció en VB6

A vegades quan programem amb VB6, ens trobem que no podem accedir a una coleccio personalitzada via "for each". Aquesta funció no rutlla:


Public Property Get NewEnum() As IUnknown
    'esta propiedad permite enumerar
    'esta colección con la sintaxis For...Each
    Set NewEnum = mCol.[_NewEnum]
End Property

Per poder accedir via "for each" cal seleccionar la paraula "NewEnum" i anar a l'opció de menú "Herramientas" --> "Atributos del procedimiento..." i un cop al formulari clicar el botó "Abanzados >>". Un cop desplegades les opcions avançades, cal comprovar que segurament no tens un -4 en el "Id. del procedimiento" ni tens la opció marcada de "Ocultar este miembro". Un cop arreglat això ja podràs accedir a la colecció via "for each".

dimarts, 26 d’abril del 2011

Connexió lenta entre un host win7 64 i una windows virtual pc amb xp

He trobat com arreglar aquest bug en aquest post:

http://www.softblog.com/2009-12/slow-network-virtual-pc-windows-7/

Si no vols llegir aquest post i vols anar directament a la solució, doncs aquí la tens:
  1. En primer lloc fes una cópia del registre
  2. Entra al registre (regedit.exe) a la següent key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. Crea una nova DWORD amb el nom DisableTaskOffload i posa-hi el valor 1
  4. Reinicia
Els problemes jo els tenia en una direcció, del host a la màquina virtual. Es pot comprovar la eficiència de la xarxa amb aquesta eina:

http://www.cyberhades.com/2011/04/07/commtest-aplicacion-gratuita-para-comprobar-la-velocidad-de-la-red/?utm_source=rss&utm_medium=rss&utm_campaign=commtest-aplicacion-gratuita-para-comprobar-la-velocidad-de-la-red

dimarts, 20 d’abril del 2010

Especificació del C# 4.0

A continuació poso l'enllaç a l'especificació del C# 4.0:

http://geeks.ms/blogs/jorge/archive/2010/04/20/c-language-specification-4-0.aspx