Unwired Server Reports ODBC Connection Problems

Performance tuning may be required to correct Unwired Server ODBC connection errors.

Problem: If Unwired Server reports ODBC errors similar to the following, this means Unwired Server cannot communicate with the consolidated database:

I. 2009-05-06 00:00:17. Old output file "C:\www\Sybase\UnwiredPlatform-1_2\Servers\UnwiredServer\logs\ml.log" 
has been renamed to file "C:\www\Sybase\UnwiredPlatform-1_2\Servers\UnwiredServer\logs\ml.log.old" 
E. 2009-05-06 00:00:17. < 7382 > [-10279] Connection was dropped due to lack of network activity 
E. 2009-05-06 00:05:18. < 7388 > [-10279] Connection was dropped due to lack of network activity 
E. 2009-05-06 00:10:18. < 7394 > [-10279] Connection was dropped due to lack of network activity 
E. 2009-05-06 00:12:10. < Main > [-10002] Consolidated database server or ODBC error: ODBC: [Sybase][ODBC Driver][SQL Anywhere]
Connection was terminated (ODBC State = HY000, Native error code = -308) 
E. 2009-05-06 00:12:10. < Main > [-10002] Consolidated database server or ODBC error: ODBC: [Sybase][ODBC Driver][SQL Anywhere]
Connection was terminated (ODBC State = HY000, Native error code = -308) 
I. 2009-05-06 00:12:10. < Main > java.sql.SQLException: [Sybase][ODBC Driver][SQL Anywhere]Connection was terminated 

Solution: Try changing the setting in the ml_property table to a higher value. For example, changing the property from the default 60 (seconds) to 150 lengthens the window of opportunity for Unwired Server to communicate with the consolidated database, and should correct the ODBC connection error.

  1. See whether the property row exists, using this dbisql query: SELECT * FROM ml_property WHERE property_name = 'liveness'

    If nothing returns, then the row does not exist.

  2. Take action based on whether the row exists.
    • If the row exists, the property has been set. Use the following stored procedure to set a higher value:

      exec ml_add_property 'MLS', 'ml_server_farm', 'liveness', '150' ;

    • If the row does not exist, the property has not been set. Use the following INSERT statement to set the property, which adds the row to the table:
      Begin 
      INSERT INTO ml_property ( component_name, property_set_name, property_name, property_value) 
      VALUES( 'MLS', 'ml_server_farm', 'liveness', '150') 
      End 
      COMMIT