Testing 'No-Lock-in' feature 

Testing 'No-Lock-in' feature 

  
Hi,

I am trying to detach demo application code to test 'no lock-in' feature of Outsystems. I tried to run the application code in visual studio and view it on browser but i am getting following error. (Screenshot attached)

I have debugged the code (DatabaseAccess.cs) to see that var conf is null
 
var conf = RuntimeDatabaseConfigurations.For(pluginProvider, source, user);
            if (conf == null || conf.ConnectionString.IsEmpty()) {
                throw new InvalidOperationException("Unable to obtain the connection string. Please run Configuration Tool.");
            }
 
Any idea why conf is null ?
 
( pluginprovider is outsystems.hubediton.... extension
source is application
user is runtime )
 
Appreciate help on this and please guide me what possibly can i configure here to get the code working.

Thanks.

 
Hi Karishma,

In the tecnote document there are steps to edit/set the connection strings in the mahine.config file. Did you do those steps?

Regards,
João Rosado
Thanks for the reply.

Yes.

 This is what I have done:

 1) Copied the <appsettings> tag from machine.confg file from the on premise outsystems server to the new server (to both 32 bit & 64 bit FrameworàConfig-àmachine.config)

2) In the <connectionStrings> tag of the same file declared the 7 connection strings as given in the tech notes

 

for eg:

 

 

<add name="OutSystems.DB.Services.Log.ConnectionString" connectionString="user id=OSLog; password=Portal#29; data source=WIN-MA0EMLFGP8I; initial catalog=Outsystems" providerName="SQL Server"/>

 

name: connection string name

user id: as provided in instructions

password: that I configured

data source: AWS machine name

initial catalog: as provided in instructions

provider name: tried OutSystemsSessionProvider & SQL Server

 

I am trying to host the detached code to AWS instance. So imported the outsystems database to it and made changes to the passwords accordingly to configure in the machine.config

 

Appreciate if you could let me know if there's something that I'm missing

Thanks,
Karishma

Hi Karishma,

The technote does not tell you to change anything in the connectionStrings section.
Inside the 
appsettings that you copied there are some that have a key ending in ".ConnectionString", those are the values that need to be changed.

For example for the runtime connection string, the line should look something like:

 <add key="OutSystems.DB.Application.Runtime.ConnectionString (DEFAULT)" value="$2$ZzuXgevEsXWbsWz2A/xyrHbALv8xWxbrentO3FGaaaaaaCwGrIyKNn1U" />

and you need to modify that line to something like:

<add key="OutSystems.DB.Application.Runtime.ConnectionString (DEFAULT)" value="user id=OSRuntime; password=yourpassword; data source=yourdatabase; initial catalog=Outsystems" />


Regards,
João Rosado

Allright thanks.

Let me get back to you once i try this. Hope it works.

Karishma

I tried this but I get an error for OSSTATE login as:
'Cannot open database "ASPState" requested by the login. The login failed. Login failed for user 'OSSTATE'. '
 
Is there a database called ASPSTATE? If yes, where can I find this? 

ps: I have already verified logging in as OSSTATE user and this works