When a client is attempting to boot into an automation environment, it will halt and the PECTAgent process will terminate, stating that the call to GetNearestPackageServerInfo.aspx failed or returned no results.
When I client machine is attempting to boot via PXE, it makes a call to the GetNearestPackageServerInfo.aspx web service. As part of this web service's database query, it runs the stored procedure spDeployment_GetCompDetailsFromName, passing it the fully-qualified domain name (FQDN) of the Package Server(s). The length of the variable string that this stored procedure will accept is limited to 50 characters, as specified in the text of the stored procedure. If the FQDN is longer than 50 characters, anything characters past 50 will be dropped.
The stored procedure compares the passed variable to two locations - Inv_AeX_AC_Indentification.[FQDN] and Inv_AeX_AC_TCPIP.[Host Name] - both of which can be longer than 50 characters. If the FQDN was trimmed short to fit the character limit and is compared to the un-trimmed value in one of the above tables, they will not match and thus will not be returned as such.
The length of the allowed variable passed to the stored procedure needs to be lengthened to at least 256, the length of the longer of the two fields to which it is compared.
This can be modified by running the following SQL query to modify the stored procedure (please note your version):
Pre-HF4:
ALTER PROCEDURE [spDeployment_GetCompDetailsFromName]
@compName varchar(256)
AS
BEGIN
SELECT AI._ResourceGuid as Guid, AI.FQDN as Name, [IP Address] as IP
from Inv_AeX_AC_TCPIP as TCIP
inner join Inv_AeX_AC_Identification AI
on TCIP._ResourceGuid=AI._ResourceGuid
where LOWER(AI.FQDN) = LOWER(@compName)
or
LOWER([Host Name]) = LOWER(@compName)
END
Post-HF4:
ALTER PROCEDURE [spDeployment_GetCompDetailsFromName]
@compName varchar(256)
AS
BEGIN
DECLARE @rcount INT
DECLARE @ResultSet TABLE (
[ResourceGuid] uniqueidentifier,
[Name] nvarchar(256),
[IP] nvarchar(64) )
INSERT INTO @ResultSet(ResourceGuid, Name, IP)
SELECT AI._ResourceGuid as Guid, AI.FQDN as Name, [IP Address] as IP
from Inv_AeX_AC_TCPIP as TCIP
inner join Inv_AeX_AC_Identification AI
on TCIP._ResourceGuid=AI._ResourceGuid
where LOWER(AI.FQDN) = LOWER(@compName)
or
LOWER([Host Name]) = LOWER(@compName)
SELECT @rcount = COUNT(ResourceGuid) FROM @ResultSet
IF(@rcount=0)
BEGIN
SELECT TCIP._ResourceGuid as Guid , @compName as Name, [IP Address] as IP
FROM Inv_AeX_AC_TCPIP as TCIP
inner join ServerSettingGuids ss
ON TCIP._ResourceGuid = ss.Value
WHERE ss.Name = 'NSResourceGuid'
END
ELSE
BEGIN
select * from @ResultSet
END
END
Applies To
Deployment Solution 7.5 GA
Deployment Solution 7.5 HF1
Deployment Solution 7.5 HF2
Deployment Solution 7.5 HF3
Deployment Solution 7.5 HF4