1. Michael Connell
  2. PowerServer
  3. Monday, 6 September 2021 11:16 AM UTC

Hi,

I'm trying to convert a legacy PowerBuilder application to an installable cloud app using PowerServer 2021.

The app runs, but I get an "ORA-12541: TNS: No listener" message when I try connecting to the database.

I see that I get a warning in the Web API command window: 

warn: PowerServer[0]
The cache name was not found by the name of application, Application will connect database by PB transaction.applcation name: UserAdmin, transaction name: sqlca

however I am not sure if this is the cause of the error.

I guess this is not 100% a PowerServer question, but I would appreciate any help with this problem. Thanks.

Michael Connell Accepted Answer Pending Moderation
  1. Tuesday, 7 September 2021 10:44 AM UTC
  2. PowerServer
  3. # 1

 

Guys,

Thank you both for your responses.

It seems the problem was a result of forgetting to include a transaction-to-cache mapping in the PowerServer project settings.

Regards,

Mike.

Comment
  1. Armeen Mazda @Appeon
  2. Tuesday, 7 September 2021 16:18 PM UTC
Thanks for sharing the solution!
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Monday, 6 September 2021 16:53 PM UTC
  2. PowerServer
  3. # 2

Hi Michael;

   The PB IDE's PowerServer "project" will connect to Oracle using a 32bit DB Client whereas PowerServer itself when running will use the 64bit DB client. Thus, make that both Oracle DB Client software are installed (32 & 64 bit).

Regards ... Chris

Comment
There are no comments made yet.
Kai Zhao @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 7 September 2021 01:50 AM UTC
  2. PowerServer
  3. # 3

Hi Michael,

If there is no transaction-to-cache mapping configured for the app, either statically or dynamically, the application will make direct connections from the application client, which is stored at the client side, in the script, or in the application INI files. I guess your application is making direct connections from the application client and it is using the net service name configured in Oracle net manager which thus causes the issue.

Please note PowerSever does not support net service name configured in Oracle net manager, please use database server IP + service name to solve the issue, for example, SQLCA.ServerName = "172.16.3.98/pdborcl", please refer to the article below for details.
https://docs.appeon.com/ps2021/Making_database_connections_from_the_app_client.html

 

Although it is still supported to connect to the database using the database connection information specified in PowerScript, you have securer options. That is, implement the connection via connection caches:

• Create the database caches, and then specify which cache each transaction object shall use for connecting to the database in the PowerServer project. Or,
• Create the database caches, and then specify which cache each transaction object shall use for connecting to the database in PowerScript.

Please refer to the article below for details.
https://docs.appeon.com/ps2021/working_with_database_connections.html

Using database caches, you can well protect the sensitive database connection information, because it is no longer necessary to keep the database connection information (including user ID, password, and DB connection string, etc.) at the client side.

If the issue remains, please provide a simple PB case to reproduce the issue for more study, thanks.

Regards,
ZhaoKai

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.