A Appendix

Oracle Database Client and ODAC Installation

SPMS Application Clients and SPMS Web Servers are database clients. They need to connect to the SPMS Database to operate. As such, the installation of Oracle Full Client and ODAC setup is required.

Where to download Oracle Database Client

  1. For instructions, download a copy of the installation manual from the official Oracle Help Center website at https://docs.oracle.com/en/database/ and refer to the manual for steps to install.

  2. Similarly, to install the Oracle Database Setup file, refer to the website at https://www.oracle.com/database/technologies/instant-client/downloads.html and download the appropriate Microsoft Windows installation file.

  3. Alternatively, you could obtain a specific setup file from Oracle Support/DBA. For example, these are some of the installers made available:
    • OracleClientSetup_12102_FULL.exe and ODTwithODAC121021, or

    • OracleClientSetup_12201_FULL.exe and ODTwithODAC122011, or

    • OracleClientSetup_12201_FULL_ODAC_v1.exe

How to register Oracle Database Client DLLs to the Local Environment

The Oracle Database Setup file downloaded from the Oracle website will not automatically register the above DLLs to the local client. Oracle provides a tool (OraProvCfg.exe) to help you to register the DLLs. See instructions at https://docs.oracle.com/cd/E71422_01/doc.212/E72234/index.htm?toc.htm?207666.htm on how to register the DLLs. The specific Setup file from Oracle Support/DBA will normally register DLLs automatically.

For SPMS to be able to connect to the Oracle Database, the Oracle Database Client DLLs must be registered to the local client. The DLLs that must be registered are:
  • Oracle.DataAccess.dll

    • Folder: ORACLE_HOME\odp.net\bin\2.x
  • All DLLs under PublisherPolicy folder: Policy.X.XXX.Oracle.DataAccess.dll

    • Folder: ORACLE_HOME\odp.net\PublisherPolicy\2.x
  • Oracle.ManagedDataAccess.dll

    • Folder: ORACLE_HOME\odp.net\managed\common
  • All DLLs under PublisherPolicy folder: Policy.X.XXX.Oracle.ManagedDataAccess.dll
    • Folder: ORACLE_HOME\odp.net\managed\PublisherPolicy\4

Note:

To establish a Database connection using Oracle Net Manager, use the following steps:
  1. Once the Oracle Client installation is successful, launch the Oracle Net Manager to establish the connection between the Database Client and Database Server.

  2. When installing the ODAC, ensure the following components for Oracle 12c are installed:

    • Oracle Data Provider for .NET

    • Oracle Providers for ASP.NET

    • Oracle Services For Microsoft Transaction Server

Definition of SPMS Seed Database

An SPMS Seed Database is a template database imported from a suitable Database DMP file. As in SPMS 7.30 and prior, a new database setup has always been a process of importing from a suitable Database DMP by DBA and then the new database will undergo a purge process (FCSPMS_Clean_UP.SQL) to ensure the database is empty. Similarly, for SPMS 8.0 / 20.1 / 20.2 / 20.3 and above, a new database template will follow the same process in SPMS 7.30. A suitable Database DMP will be chosen and then the data will be purged to ensure the database is empty.

General Steps to Troubleshoot an Issue

Common Errors in SPMS Database Installation

Shown below are some of the common errors encountered during the Database Upgrade process using the OHC Tools.

For 1st time upgrade to version 8.0 / 20.1 / 20.2 / 20.3 using OHC Tools, program does not directly start with Upgrade screen. Login screen prompt an error 'Secure Server is not running at xxx’
  • This could be due to the fact that the FIDELIOBK does not exist or the account is locked or the password is not a default password. Unlock the account or update the password manually.

Error “Unique Constraint (FIDELIO.TYP.I1)” occurs after upgrading DB to 8.0 / 20.1 /20.2 / 20.3 and when running OHC Tools.
  • This is because the database is yet to upgrade to version 8.0 / 20.1 /20.2 / 20.3. Run DB Installer version 8.0 / 20.1./ 20.2 / 20.3.

Error “Failed to connect to Updater Scheduled Task” after running DB Installer upgrade to database to version 8.0.x and launching OHC Tools without bypass updater.
  • Ensure the latest Updater.exe, UpdaterWatchdog.exe is in the Program file folder and the task scheduler is up and running. Restart the PC to allow Updater to launch and perform the update.

Error prompt “Cannot load assembly Oracle.DataAccess” when running .NET program in Windows 10.
  • Ensure the .NET Framework 3.5 is enabled in Microsoft Windows Features before installing Oracle Client. If an error occurs in the Web Server, reinstall the Oracle Client after performing the Web Server Setup.

.NET Program failed to connect and error prompt “Cannot load assembly 'Oracle.DataAccess” on IIS Server with ODAC 11203 installed.
  • Place the 'Oracle.DataAccess.dll' into c:\inetpub\OHCTransactionsService\bin folder.

Message prompt “TNS: could not resolve the connect identifier specified” when running OHC Tools.
  • Ensure the DB SID <> ‘Fidelio’ and OHCSettings.par exist in Public Folder or DB SID <> ‘Last Server’ in OHCSettings.par.

Message prompt “TNS: could not resolve the connect identifier specified” when running OHC Tools, Change Encryption Key failed to store passphrase due to the above error.
  • Ensure the IIS Server can connect to the database. Use the SQLPLUS or RESTART IIS Server to test the connection.

Message prompt “Web Service DB Server = xxx, Client Server =xxx, cannot proceed” when running OHC Tools, Change Encryption Key.
  • Ensure the DB SID defined in Web.config / Tnsnames.ora / OHCSettings.par are the same as IIS Server and Client PC.

Message prompt “Invalid username/password” when the user subsequently changes the Encryption Key.
  • The issue is caused by a connection time out during the encryption process and OHCSecurity.par were not properly created in the IIS Server. Manually remove OHCSecurity.par from the IIS Server and run Change Encryption Key to recreate the file.

Message prompt “Secure Server is not running at xxx” when running OHC Tools / OHC Launch Panel for the first time and it failed to connect to IIS Server.
  • Ensure the IIS Server Firewall Port 443 is turned off.

Message prompt “old password does not match” when running OHC Tools, Change Encryption Key.
  • The database password is case sensitive. Ensure the database password is correct. You can change the case sensitivity using an SQL statement if the error persists.

Message prompt “The path is not of a legal form” when running OHC Tools.
  • The issue is caused by SYS_REPORTDIR being empty. The workaround is to place a value to this parameter or obtain the latest Fidelio*.dll.

Message prompt “Unable to launch application due to invalid fideliobk, system cannot determine current db is 7.30.8xx or 8.0.xx” when running OHC Tools.
  • The issue might be caused if the schema created uses the wrong password when backing up and restoring the database. Manually drop the FIDELIOBK from the schema

Common Errors in SPMS .NET Web Server Installation

Web Server Is Corrupted

If the SPMS web services server is corrupted, the OHCSecurity.par is no longer valid.

Set up the new IIS Server and connect to the new IIS Server using an existing client PC.
  1. Ensure the OHCSecurity.par exist on the client PC.

  2. Change the securelogin.txt to point to the new IIS Server.

  3. Run OHC Tools, Change Password function to generate a new key.

Logged in user changed or the user does not exist in OHCSecurity.par.
  • Run OHC Tools, Change Password and perform a password change to copy all of the entry with value in OHCSecurity.par to new IIS Server, then log in to SPMS application on a different client PC to download OHCSecurity.par from IIS Server.

Message prompt “The Operation is complete but NetFx3 feature was not enabled” when installing Web Service, Enabling Features.
  • Log in to the IIS Server with a user from an administrator group instead of the standard user group, and restart the installation.

Error prompt “Certificate error” when browsing the TransactionsService using Internet Explorer.
Message prompt “TNS: listener does not currently know of service requested in connect descriptor”.
  • Ensure the Database is up and running.

Message prompt “Fidelio user password for server xxx not found”.
  • This error is caused by OHCSecurity.par being manually deleted and the application already connects to DB, and is comparing the old password with IIS Server. Restart the IIS Server to enable the application to re-establish its connection.

Wrapper.dll not registered.
  • Launch the MS-DOS Command with “Run as Administrator” and use RegAsm in C:\Windows\Microsoft.NET\Framework\v.4.0.30319 to register the Wrapper.dll file.

Message prompt in OHCDemoApp, “The provided URL ‘https’ is invalid. Expected ‘http.’”
  • In OHCDemoApp.exe.config file, change the <security mode = “None”> to <security mode = “Transport”>.

Message prompt: “The Specified method not found.”
  • The system prompts this message when the user attempts to load the .asmx file through Internet Explorer. Some of the DLL should not exist in the BIN folder, for example. SingPlusNet.dll. Remove them and retry.

Message prompt: “Invalid Parameter.”
  • This occurs when running OHCDemoApp.exe. The user is required to connect OHCWebServices.asmx instead of OHCTransactionsService.asmx

Error Message: ‘Unhandled exception has occurred in your application. System.MissingMethodException: Method not found’
  • This occurs when App_Code.dll, OHCSPMS*.dll version is wrong. Ensure these DLL versions are the same.

Error Message: “Critical error occurred while processing Sql statement.\r\n. Please call your system administrator, application will terminate now or .Error Message: Oracle.DataAccess.Client.OracleException ORA-06576: not a valid function or procedure name at Oracle.DataAccess.Client.OracleException.HandleErrorHelper.”
  • This occurs when logging in to OHCDemoApp /JsonGet. Ensure both OHCSPMS*.dll versions are the same as the Database version.

Error Message: “Critical error occurred while processing SQL statement.\r\n Please call your system administrator, application will terminate now.\r\n\r\nSystem.Exception: Error Opening Connection to - Unable to load OraMTS….”
  • This occurs when performing a transaction through Oracle WebServices. Ensure the Oracle Services for Microsoft Transaction Server (MTS) is installed on the Web Server.

Error Message: “Critical error occurred while processing SQL statement. Please call your system administrator, application will terminate now. System.Exception: Error Opening Connection to – Unable to enlist in a distributed transaction …….”
  • This occurs when running OHCDemoApp or Infogenis Point-of-Sale (IGPOS). Install ODAC and ensure the MTS is enabled and running properly as well as the distributed transaction coordinator service.

Error Message: “OHCSPMSxxxx.DLL Version (xx.xxx) does not match with….”
  • The error occurs when running OHCDemoApp or IGPOS. Ensure the OHCSPMS*.dll version in XAPP table is as the copy in the BIN folder.

Error Message: “penConnection-System.InvalidOperationException: The Promote method returned an invalid value for the distributed transaction.”
  • This error occurs when performing a web service transaction like Check-In or Book Excursion. In the Component Services, Distributed Transaction, Load DTC Properties, Security tab, and select both the ‘Allow Inbound and Allow Outbound check box.

    Figure A-1 Windows Component Services


    This figure shows the Windows Component Services
Issue with: Web Browser showing “Page Not Found.” Error 404 – File or Directory not found.
  • Ensure the IIS, WebService Extensions are set to Allowed in Web Service Extensions.

Issue with: Web Browser showing blank page when browsing the OHC Webservices, or error “The Specified module could not be found.”
  • This error occurs when testing the web service through Internet Explorer and it returns a blank page.
    1. Navigate to the IIS Manager and select OHCWebServices.

    2. In the Default Document, manually add the OHCWebServices.asmx file.

      Figure A-2 IIS Manager - Default Document


      This figure shows the Default Document in IIS Manager
Error Message: “This setup requires Internet Information Server 4.0 or higher and Windows NT 4.0, Windows 2000 or higher….”
  • This error occurs during OHCWebServices Setup and requires Internet Information System (IIS) 6.0 in Control Panel, Windows Features to be turned on.

Error Message: “Error Code 0x800700b7 Config Error. There is a duplicate system.web.extensions/scripting/scriptResourceHandler” section defined.

Figure A-3 WebServices Error Message


This figure shows the error message returned by WebServices
  • This error occurs when browsing the web page. Comment of the related thread is mentioned in web.config.

Error Message: ‘<!--<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">’ or ‘The type initializer for ‘FidelioSPMS.CShipGeneral’ threw an exception.
  • This error occurs when browsing the web page or using OHCDemoApp test program. Ensure the .NET Framework version is .NET Framework v4.0.30319 in the Application Pool, Default Pool setting.

Common Errors in SPMS Desktop Application Client Installation

Login user changed or the user does not exist in OHCSecurity.par.
  • Run OHC Tools, Change Password and perform password change to copy all entries with a value in OHCSecurity.par to the new IIS Server, then log in to the SPMS application on a different client PC to download the OHCSecurity.par from the IIS Server.

All Credit Card numbers displayed are masked.
  • The issue may be due to the PC connecting to different DB, and that DB password is the same as the previously connected DB, resulting in a mismatched encryption key in OHCSecurity.par. Delete the OHCSecurity.par and re-download the file.

Message prompt “Secure IP Not Found, cannot continue” when running SPMS application.
  • The issue may be caused by SPMS 8.0 application running on a database version below 8.0.x, OHCSettings.par is not found in the public folder (where SID <> Fidelio) or securelogin.txt file does not exist or invalid.

  • Ensure the above files exist and are in the correct location, and the database is updated, and the <endpoint address> points to the correct web server if the above message prompts in OHCDemoApp.
If the WS server is corrupted, the OHCSecurity.par is no longer valid.
  • Set up the new IIS Server and connect to the new IIS Server using an existing client PC. Ensure the OHCSecurity.par exists on the client PC. Change the securelogin.txt to point to the new IIS Server, then run OHC Tools, and use the Change Password function to generate a new key.

Interface or OHC Watchdog program failed to run and OHC UpdaterAgent keep initiating.
  • Ensure the Interface program is uploaded under the Interface Files group in XAPP (XAPP_SYSTEMS_FILES =3).

Custom.dic keep downloading from XAPP when file size is 0kb in local PC.
  • Run Launch Panel to auto-save the Custom.dic file into the Public Documents folder.

Message prompt “no data found” in OHC Management when performing a guest check out.
  • This issue is due to the DB Installer having an issue with the conversion of Point-of-Sale (POS) table from CHAR to VARCHAR2. Ensure you do not End the task of the DB Installer during an upgrade process.

SPMS program prompts an error ‘Due to PA-DSS Compliance...’
  • The issue is caused by OHCSecurity.par, which does not exist or does not have the security access rights to download the file. Ensure the Wrapper.dll is the latest version.

SPMS program prompts “wrong argument” when logging to a module.
  • Ensure the Wrapper.dll is the correct version and is properly registered.

OHC Updater stops verifying at Wrapper.dll process.
  • Ensure the Launch Panel is in XAPP table with XAPP_ID=2.

Error “Unable to initialize database connection. Please contact your System Administrator for assistance. Unable to launch application due to missing login parameters.” where Launch Panel stops at Initializing.
  • This may be due to an issue with ODAC installation. Run .NET program to verify

Run VB program hit error 'Object does not support this property type'.
  • Re-register the wrapper.dll using MS-DOS Command C:\Windows\Microsoft.NET\Framework\v4.0.30319>regasm "C:\Program Files (x86)\Oracle Hospitality Cruise\wrapper.dll”.
Error “Failed to connect to Updater Scheduled Task; trying to connect to OHC Updater” when launching OHC Launch Panel without Bypass Updater.
  • The system creates a scheduled task in Task Scheduler with the Oracle Hospitality Cruise SPMS Updater. Verify that the Oracle Hospitality Cruise SPMS Updater is running in the Task Scheduler by navigating to the Control Panel, Administrative Tool, Task Scheduler.

  • If the Task is not created, manually create the task by running the createtask.bat followed by runtask.bat from the Oracle Hospitality Cruise program files folder.
Message prompt "The database which has been specified….This could be because the service is too busy or because no endpoint was found…"
  • This may be due to the IIS not being available. Reset the IIS or browse the IIS Server from IE to check the availability

  • Ensure Port 443 is added in the Window Firewall. Try to define IP or Server Name in SecureLogin.txt.
Message prompt "Failure Open File."
  • This is caused by Oracle Wallet. Ensure the Net Manager is connected to the DB successfully. Ensure the wallet folder has granted IIS_USER.

Error from WS - HTTP binding error.
  • This is due to OHCSecurity.par is either missing or invalid.

Error “Session Expired. Invalid username and password when connect to database or web server”
  • Ensure the OHCSecurity.par is correct in both IIS and the local client PC

Error "Fidelio The type initializer for "Oracle.DataAccess.Client.OracleConnection’ threw an exception’ when logging into the OHC Launch Panel or OHC Tools.
  • Ensure checkbox "Configure ODP.NET and/or Oracle Providers for ASP.net at machine-wide level" is selected while installing ODAC.

Error "Session Expired. Error connecting to xx. Invalid username/password. Logon denied."
  • Run the SQL statement to alter the case sensitivity.