dijous, 30 de maig del 2013

Aplicacions VB6 que no funcionen via Terminal Server si no s’entra com usuari Administrador

Suposem el cas d’una aplicació VB6 que funciona correctament, i de la qual tenim una instal·lació que també funciona correctament. Fem la instal·lació en un servidor i quan executem l’aplicació tot funciona bé. Si entrem remotament a aquest servidor, amb un usuari amb privilegis d’administrador i executem l’aplicació també funciona tot correctament.

En canvi, si entrem remotament amb un usuari SENSE privilegis d’administrador resulta que l’aplicació no funciona bé. Es pot donar el cas que no entra en determinats formularis (problema de registre d’OCX) i també es pot donar el cas de que en un formulari per exemple de manteniment, podem veure les dades en els camps de text, si ens movem per el adodc el registre va canviant, però si mirem la consulta per el TDBGrid resulta que està en blanc, no es veu cap dada.

Per tal d’arreglar aquest problema i d’altres problemes d’instal·lació quan s’accedeix a un equip remotament, cal que es faci la instal·lació des de l’opció “Panel de control” –> ”Instalar aplicación en servidor de Escritorio remoto”:

image

S’obrirà un assistent on tan sols cal escollir el programa d’instal·lació que volem executar, i un cop finalitzada la instal·lació polsarem el botó “Finalizar” del assistent. Un cop feta o fetes les instal"·lacions d’aquesta manera, les execucions de l’aplicació via Terminal Server ja funcionaran correctament.

Si no trobeu aquesta opció al “panel de control” també podeu fer-ho amb la comanda CHGUSR /Install

Aquí us deixo un link on s’explica:

http://www.itechtalk.com/thread3652.html

dimecres, 3 d’abril del 2013

dimarts, 31 de juliol del 2012

Obrir una finestra de comandes des d’una carpeta

Aquest es un truc senzill i poc conegut del Windows. Per obrir una finestra de comandes des de la carpeta que vulguem tan sols cal polsar el botó dret del ratolí sobre la carpeta, amb la tecla “shift” polsada, ….i….“tatxan”!!!…ens apareix un “Abrir ventana de comandos aquí”.

image243

Per si el teu sistema operatiu no contempla això (xp), sempre pots recórrer a les "PowerToys” de Microsoft (on a part d’això hi ha altres cosetes interessants):

http://windows.microsoft.com/en-us/windows/downloads/windows-xp

dijous, 26 d’abril del 2012

Arguments de línia de comanda (passar paràmetres) al executar un programa fet en VB6

Ja fa uns dies que em vaig trobar amb la necessitat de poder accedir a diferents servidors sql des d’un mateix executable, depenent de l’accés directe que tenia a l’escriptori. Vull dir, que a l’escriptori tenia dos accessos directes a un EXE, des d’un havia d’atacar al servidor sql “ServidorAAA” i des de l’altre al servidor “ServidorBBB”. Vaig pensar que una bona manera de fer-ho seria mitjançant el pas de paràmetres a l’executable. Avui ho he estat mirant, no recordava si es podia fer o no amb VB6, i al final m’he posat a investigar.

La manera de fer-ho es ben senzilla, tan sols cal accedir al valor de la variable “Command”. Si te un valor, és que s’han passat paràmetres, si no té cap valor llavors vol dir que no s’ha passat cap paràmetre. En el meu cas aquest codi serviria:

If Command = "" Then
    Server = PosarElServidorQueEsVulgui
Else
    Server = Command
End If

Llavors tan sols cal modificar els destins dels dos accessos directes:

Destí accés directe: "C:\AppDir\AppName.exe" ServidorAAA

Destí accés directe: "C:\AppDir\AppName.exe" ServidorBBB

El meu cas és molt senzill, tan sols passo com paràmetre el nom del servidor. El problema ve quan volem passar diferents paràmetres. Doncs bé, el sistema és el mateix, la diferència és que cal tractar la variable “Command” separant els paràmetres. Per exemple, suposant que volem dos paràmetres separats per una coma (“6,9”) es podria aplicar el següent codi:

Dim separador, a, b As Integer

separador = InStr(1, Command,",", vbTextCompare)
a = Mid(Command, 1, separador - 1)
b = Mid(Command, separador + 1)
MsgBox "Primer paràmetre: " & a & “ Segon paràmetre: " & b

Si necessitem més paràmetres encara, el procés seria també el mateix, separar-los per comes (a,b,c,d,e) i llavors com que Command=”a,b,c,d,e” , caldria separar els paràmetres amb un split. En aquests cassos, però,  és millor aprofitar el codi fet dels mestres :-)

http://www.elguille.info/vb/utilidades/LineaComandos_2.htm

Una última cosa, per tal de fer proves, podeu posar els paràmetres d’entrada a la carpeta “generar” de les propietats del projecte:

image

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