We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK HERE.

DB Connector Import - Error Processing Records

JoshuaLawrence
New Contributor III
New Contributor III

Hi,

We are trying to import accounts using DB Connector (using a Microsoft SQL Server database) with the following AccountsImport parameter:

<dataMapping>
<sql-query description="This is the Source DB Query" uniquecolumnsascommaseparated="name" >
<![CDATA[SELECT Guid,FirstName,LastName,Email,MobilePhoneNumber,Status,ExpirationDate,'Genetec_test1' as SECURITYSYSTEM,'Genetec_test1' as ENDPOINT, 'AccessRule' as entitlementtype, GuidGroup as entitlementvalue FROM Cardholder INNER JOIN AccessPointRuleCardholderList ON (Cardholder.Guid = AccessPointRuleCardholderList.GuidMember)]]>
</sql-query>
<mapper description="This is the mapping field for Saviynt Field name" accountnotinfileaction="Suspend" deleteaccountentitlement="false" ifusernotexists="noaction">
<mapfield saviyntproperty="accounts.name" sourceproperty="Guid" type="character"/>
<mapfield saviyntproperty="accounts.customproperty1" sourceproperty="FirstName" type="character"/>
<mapfield saviyntproperty="accounts.customproperty2" sourceproperty="LastName" type="character"/>
<mapfield saviyntproperty="accounts.customproperty3" sourceproperty="Email" type="character"/>
<mapfield saviyntproperty="accounts.customproperty4" sourceproperty="MobilePhoneNumber" type="character"/>
<mapfield saviyntproperty="accounts.customproperty5" sourceproperty="ExpirationDate" type="character"/>
<mapfield saviyntproperty="accounts.status" sourceproperty="Status" type="character"/>
<mapfield saviyntproperty="securitysystems.systemname" sourceproperty="SECURITYSYSTEM" type="character"/>
<mapfield saviyntproperty="endpoints.endpointname" sourceproperty="ENDPOINT" type="character"/>
<mapfield saviyntproperty="entitlementtypes.entitlementname" sourceproperty="entitlementtype" type="character"/>
<mapfield saviyntproperty="entitlementvalues.entitlementvalue" sourceproperty="entitlementvalue" type="character"/>
</mapper>
</dataMapping>

 

But we are getting this error in the logs: 

2023-03-17/19:51:50.454 [{}] [quartzScheduler_Worker-1] ERROR saviynt.AccountsImportService - Error processing records
groovy.lang.MissingMethodException: No signature of method: java.lang.Short.replace() is applicable for argument types: (java.lang.String, java.lang.String) values: [\, \\]
at com.saviynt.AccountsImportService$_createAndExecuteInsertQuery_closure15_closure36_closure37_closure39.doCall(AccountsImportService.groovy:741)
at com.saviynt.AccountsImportService$_createAndExecuteInsertQuery_closure15_closure36_closure37.doCall(AccountsImportService.groovy:734)
at com.saviynt.AccountsImportService$_createAndExecuteInsertQuery_closure15_closure36.doCall(AccountsImportService.groovy:556)
at com.saviynt.AccountsImportService$_createAndExecuteInsertQuery_closure15.doCall(AccountsImportService.groovy:555)
at com.saviynt.AccountsImportService.createAndExecuteInsertQuery(AccountsImportService.groovy:554)
at com.saviynt.AccountsImportService.importData(AccountsImportService.groovy:327)
at AccountsImportFullJob.execute(AccountsImportFullJob.groovy:56)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)

 

We have also tried with this query but get the same error : 

select Guid,FirstName,LastName,Email,MobilePhoneNumber,Status,ExpirationDate,'Genetec_test1' as SECURITYSYSTEM,'Genetec_test1' as ENDPOINT, null as entitlementtype, null as entitlementvalue from Cardholder

We have verified that these queries are valid. Currently we just want to import accounts and not import any entitlements or do any mapping.

Just wondering what is causing this error?

Thanks!

2 REPLIES 2

sk
All-Star
All-Star

Can you please share the sample data, One or more fields having data that is not matching with datatype you selected. I doubt on Guid, status,ExpirationDate. 


Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.

JoshuaLawrence
New Contributor III
New Contributor III

Hi

Yes you were right, the expiration date and status had the wrong datatype in the xml, I am now able to import the accounts.

Thanks!