viernes, 27 de julio de 2012

SQL Server 2008 y Windows 7: Attach Database. Error: No se puede abrir el archivo físico. Problemas con el UAC (User Account Control)


Apareció un nuevo problema en mi utilización de SQL2008 y Windows 7 a la hora de adjuntar una base de datos 
Con la base de ejemplo AdventureWorksLT2008 (la puedes descargar por aquí) descargue el .mdf y el .ldf para “attacharlos”
El script:
USE [master]
GO
CREATE DATABASE [AdventureWorksLT2008] ON 
( FILENAME = N'C:\SQLDATA\AdventureWorksLT2008_Data.mdf' ),
( FILENAME = N'C:\SQLDATA\AdventureWorksLT2008_Log.ldf' )
 FOR ATTACH
GO

Mensaje de Error:
Msg 5120, Level 16, State 101, Line 1
No se puede abrir el archivo físico "C:\SQLDATA\AdventureWorksLT2008_Data.mdf". Error del sistema operativo 5: "5(failed to retrieve text for this error. Reason: 15105)".

Solución 1:

Ejecutar el SSMS como Administrador.
  

Solución 2

La anterior solución nos da la idea que nos falta algo de permisos

desde TECHNET:

(…)El programa de instalación de SQL Server crea grupos de servicio local para los diferentes servicios de SQL Server y agrega las cuentas de servicio o los SID de servicio a estos grupos según sea necesario. Estos grupos simplifican la concesión de los permisos necesarios para ejecutar los servicios de SQL Server y otros ejecutables, y ayudan a proteger los archivos de SQL Server.(…) (mas info)

Grupo de Usuarios:
  •  
    • Instancia predeterminada: SQLServerMSSQLUser$nombreDeEquipo$MSSQLSERVER
    • Instancia con nombre: SQLServerMSSQLUser$nombreDeEquipo$nombreDeInstancia


jueves, 26 de julio de 2012

Hidden Fields with labels CRM4


Field
crmForm.all.ppc_address1_pais_txt.style.visibility = "hidden";

Label
crmForm.all.ppc_address1_pais_txt_c.style.visibility = "hidden";

After Convert Text Field to a Picklist include an OnChange event


Instead of clicking in on the field, to define the change event, you define it on form load.
Here is an example, where I have declared a change event in form load:


state.onchange = function(){
crmForm.all.ppc_address1_ciudad_txt.DataValue = state.SelectedText;
}


jueves, 5 de julio de 2012

CrmService.Retrieve Method Using JScript CRM4

/*-----------------Parent Accountid---------------------------*/
 if (crmForm.all.parentaccountid.DataValue != null && crmForm.all.ppc_rfc_para_fact.DataValue==2) {
 var parentacct = crmForm.all.parentaccountid;
 var entidad = "account";
 var atributo1 = "ppc_numeronit";
 var atributo2 ="ppc_actualizado";
 try {
 var parentaccountid = parentacct.DataValue[0].id;
 var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp.open("POST", "/mscrmservices/2007/crmservice.asmx", false);
 xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); xmlhttp.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Retrieve"); //xmlhttp.setRequestHeader("Content-Length", xml.length); var soapBody = "" + "" + "" + entidad + "" + "" + parentaccountid + "" + "" + "" + "" + atributo1 + "" + "" + atributo2 + "" + "" + "" + "" + ""; var soapXml = ""; soapXml += GenerateAuthenticationHeader(); soapXml += soapBody; soapXml += ""; xmlhttp.setRequestHeader("Content-Length", soapXml.length);
xmlhttp.send(soapXml);
 // Capture the result.
 var resultXml = xmlhttp.responseXML; // Check for errors.
 var errorCount = resultXml.selectNodes('//error').length;
 if (errorCount != 0) {
 var msg = resultXml.selectSingleNode('//description').nodeTypedValue; alert(msg);
 } // Display the retrieved value.
 else {
 //alert(resultXml.selectSingleNode('//q1:'+atributo1).nodeTypedValue); //alert(resultXml.selectSingleNode('//q1:'+atributo2).nodeTypedValue);
 if (resultXml.selectSingleNode('//q1:' + atributo2).nodeTypedValue == 1)
{
 crmForm.all.ppc_num_nit_cc_fact.DataValue = resultXml.selectSingleNode('//q1:' + atributo1).nodeTypedValue;
 } else {
 alert('La cuenta la cuenta Primaria no ha \n sido enviada a Solomon.');                           crmForm.all.ppc_num_nit_cc_fact.DataValue = '';
     }
   }
 }
 catch (e) {
   alert(e.message);
  }
}