Error: "Not enough values for host variables" in the Endpoint Protection Manager logs

book

Article ID: 158593

calendar_today

Updated On:

Products

Endpoint Protection

Issue/Introduction

After migrating Symantec Endpoint Protection Manager (SEPM) sites to 12.1 Release Update 4 (RU4), several Unexpected Server Error notifications are displayed in the Symantec Endpoint Protection Manager console Server Status pane during replications. These errors only occur on Managers using the embedded Sybase SQL Anywhere database.

The following error is written to the scm-server0/1.log:

 

SEVERE: Invalid query statement. in:
com.sygate.scm.server.consolemanager.requesthandler.GetObjectHandler
java.sql.SQLException: [Sybase][JDBC Driver][SQL Anywhere]Not enough values for
host variables
 at sybase.jdbc4.sqlanywhere.IConnection.nativePrepareStatement(Native Method)

Cause

A change was made to one of the database views in the RU4 database schema. During the migration process, the V_SEM_SVA_COMPUTER view is temporarily removed and then recreated. This causes the embedded database engine to invalidate the V_SEM_SVA_COMPUTER_NAME database view which queries information from V_SEM_COMPUTER.

The errors are cosmetic and do not affect the actual functionality of the manager, or replication.

Resolution

Symantec is aware of this problem and will update this document when a solution becomes available.

To work around this problem, delete and recreate the V_SEM_SVA_COMPUTER_NAME database view using the following steps:

  1. Stop the Symantec Endpoint Protection Manager service and Symantec Endpoint Protection Manager Webserver service.
  2. Navigate to: ...\Symantec Endpoint Protection Manager\ASA\win32
  3. "Double-click" dbisqlc.exe.
  4. Provide credentials for the embedded database.  (User:  DBA, Password:  first one used for admin account)
  5. Under action, select "Connect with an ODBC Datasource"
  6. Under ODBC Data Source name, Select "SymantecEndpointSecurityDSN" from the drop-down.
  7. Click OK
  8. Execute the following SQL query against the SEPM database:

    DROP VIEW V_SEM_SVA_COMPUTER_NAME;
       CREATE VIEW V_SEM_SVA_COMPUTER_NAME as
       SELECT  S.SVA_ID, S.STATUS, C.COMPUTER_NAME, C.IP_ADDR1_TEXT
       FROM SEM_SVA as S with (nolock)
       LEFT OUTER JOIN V_SEM_SVA_COMPUTER as C WITH (NOLOCK)
          ON S.COMPUTER_ID = C.COMPUTER_ID
       WHERE S.DELETED=0;


     
  9. Restart the Symantec Endpoint Protection Manager and Webserver services.