Archivo de la etiqueta: Business Data Connectivity

SharePoint 2013 – Script de aprovisionamiento de Business Data Connectivity

powershellLa aplicación de servicio de Conectividad a datos empresariales (o Business Data Connectivity) permite cargar archivos de definición de aplicaciones que describen las interfaces de los sistemas de la línea de negocio de una organización y la forma de acceder a los datos que almacenan en SharePoint 2013.

Para crear este servicio en SharePoint 2013, aquí tenéis un script de PowerShell que os puede ser de utilidad, si estáis montando nuevos entornos:

#####################################################################################
## Create Business Data Connectivity Service ##
#####################################################################################
# SQL Server name and apppool
$DB = "DES-SP2013"
$AppPool = "SharePoint Web Services"
# Service name and database
$BDCSName = "Business Data Connectivity Service"
$BDCSDB = "SP2013_BDC"
#####################################################################################
## Administrative Privileges Check ##
#####################################################################################
function Use-RunAs 
{    
    # Check if script is running as Adminstrator and if not use RunAs 
    # Use Check Switch to check if admin 
    param([Switch]$Check) 
	$IsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") 
    if ($Check) { return $IsAdmin }     
    if ($MyInvocation.ScriptName -ne "") 
    {  
        if (-not $IsAdmin)  
        {  
            try 
            {  
                $arg = "-file $($MyInvocation.ScriptName)" 
                Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList $arg -ErrorAction "stop"  
            } 
            catch 
            { 
                Write-Warning "Error - Failed to restart script with runas"  
                break
            } 
            exit # Quit this session of powershell 
        }  
    }  
    else
    {  
        Write-Warning "Error - Script must be saved as a .ps1 file first"  
        break  
    }  
} 
Use-RunAs
#####################################################################################
## Add Powershell SharePoint Snapin
Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
#####################################################################################
try
{
	Write-Host "Creating Business Data Connectivity Service"
	$ServiceApplication = New-SPBusinessDataCatalogServiceApplication –ApplicationPool $AppPool –DatabaseName $BDCSDB –DatabaseServer $DB –Name $BDCSName > $null
	New-SPBusinessDataCatalogServiceApplicationProxy -Name "$BDCSName Proxy" -DefaultProxyGroup -ServiceApplication $BDCSName > $null
	Get-SPServiceInstance | where-object {$_.TypeName -like "*Managed Metadata*"} | Start-SPServiceInstance > $null
	Write-Host "Service created correctly"
} 
catch 
{ 
	Write-Output $_  
}

 

Referencias: New-SPBusinessDataCatalogServiceApplication y New-SPBusinessDataCatalogServiceApplicationProxy

Error “There are no addresses available for this application” al configurar el Servicio BDC

Cuando configuras por primera vez la aplicación de servicio BDC (Business Data Connectivity) en un entorno de SharePoint 2010, cuando intentas acceder a sus propiedades o bien por modelo BDC, sistemas externos y tipos de contenido externo, recibes el siguiente error:

There are no addresses available for this application

Para solucionar este problema, debes de asegurarte que el servicio esta arrancado, para ello accedes a:

Central Administration -> System Settings -> Manage services on server

y te aseguras que el servicio Business Data Connectivity Service esta arrancado o Started.

Una vez los has arrancado solo tienes que reiniciar el servicio IIS (Internet Information Services) a través del comando “iisreset” desde una aplicación de consola.

Aquí tienes una captura de pantalla, para que veas que servicio debe estar arrancado: