1. Clarence Chamorro
  2. PowerServer Mobile (Obsolete)
  3. Saturday, 8 September 2018 15:02 PM UTC

Good Morning People,

I will like to find out how to code a Dynamic Database Connection in PS. Can you point me in the right direction.

It just to be a very good video in area PowerServer Web & Mobile Tutorials of appeon website, but now it shows a different video.

In Previous video the presenter (I do not remember his name, latin person) shows an application and then it actually show the code of creating a Dynamic Database Connection or cache.  I was going to see the video again but now it is a different one. Sorry for my poor description/info of this video.

My issue is that users logon with user id and Password. I open the connection with these information but them some how the connected person to the database is the user id that is in the PowerServer data source definition. What I want to happen is what is happening with the application runing in Windows. Which is connect with the information passed.

Here my actual code setting up the DBMS parameters and connecting to the database. 

//==========================================

//cch set the sqlca.dbms aprameters

SQLCA.DBMS = "ODB-asa"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=arazoza_prod17;UID=;PWD=;UID=" + Trim(istr_gen.username) + ";PWD="+ Trim(istr_gen.userpassword) +"',cachename='arazoza_prod17'"

//cch try to connect to the database

//cch check for potencial erros wrong user id or password ect...

IF sqlca.of_Connect() >= 0 THEN gnv_app.inv_error.of_SetPredefinedSource(SQLCA)
   rc = 1
ELSE
  choose case SQLCA.SQLDBCode
  case -103
     MessageBox ("Invalid User ID / Password Entered", "Please reenter & touch the Login button Again~r~n or Touch the Cancel button to quit")
  case else
     MessageBox ("Connect failed",string(SQLCA.SQLDBCode) + ' ' +SQLCA.SQLErrText)
  end choose
End if
IF rc = 1 THEN
  EVENT pfc_microhelp("Logon Successful. User ID is " + istr_gen.username)
Else
  messagebox('',sqlca.sqlerrtext)
End If

//================================================

What I do not know is how to make PowerServer pass my parameters instead of what is in the PowerServer data source.

It will be great, like I said before, if you can point me in the right direction.

Regards,

Clarence

Alfredo Aldama Accepted Answer Pending Moderation
  1. Tuesday, 11 September 2018 16:08 PM UTC
  2. PowerServer Mobile (Obsolete)
  3. # 1

Hi,

 

There are an example in code exchange related to connect a DB PS, maybe this can help you

https://community.appeon.com/index.php/codeexchange/powerserver-mobile/28-dynamic-creation-of-datasource

 

Regards!

 

 

Comment
There are no comments made yet.
Clarence Chamorro Accepted Answer Pending Moderation
  1. Tuesday, 11 September 2018 14:55 PM UTC
  2. PowerServer Mobile (Obsolete)
  3. # 2

Thank all you guys for the help, comments, and directives.

Zhaokai comments with the two line of SQLCA help me and solve what I wanted to accomplish.

Regards,

Clarence.

Comment
There are no comments made yet.
Kai Zhao @Appeon Accepted Answer Pending Moderation
  1. Monday, 10 September 2018 00:57 AM UTC
  2. PowerServer Mobile (Obsolete)
  3. # 3

Hi Clarence,

You can enable the Dynamic Database Connection option in AEM> Server> Resources> Data Source>[data source name] and specify the user name and password to connect to the database. More details please refer to the online help at:

https://www.appeon.com/support/documents/appeon_online_help/2017/server_configuration_guide_for_net/Resources.html#Adding_connection_cache


Then you can use the script like below to specify the user/password to connect to the database.

SQLCA.LogId = %your id%

SQLCA.LogPass=%your pass%


Just for your reference, when the Dynamic Database Connection feature is turned on the LogID and LogPass of the Transaction object will be used to connect to the database; when it is turned off then the user name and password specified in the data source will be used to connect to the database.


Regards,
ZhaoKai

Comment
There are no comments made yet.
Marco Meoni Accepted Answer Pending Moderation
  1. Sunday, 9 September 2018 15:21 PM UTC
  2. PowerServer Mobile (Obsolete)
  3. # 4

Ciao Clarence,

1) the video you may have seen in the past is not disappeared, I think you refer to this one:

https://www.appeon.com/appeon-u/powerserver-web-fundamentals/unit01/class02?to=1787

2) for configuring dynamic mapping between datasources in AEM and PB transaction objects, use the cachename keyword in your code and follow this help:

https://www.appeon.com/support/documents/appeon_online_help/2017/server_configuration_guide_for_net/Dynamic_transaction_object_to_connection_cache_mapping.html

3) for configuring dynamic database connection and have the DB connected by the user and password specified in LogId and LogPass properties of transaction object, check this out:

 

https://www.appeon.com/support/documents/appeon_online_help/pb2017r2/server_configuration_guide_for_net/Resources.html

Best,

Marco

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.