Olympia setup files


(estebanp) #1

Hi guys,

I’m trying to find where are the scripts for Olympia’s db structure if we want to deploy it in a different database (e.g. MSSQL)

Also, where is the connections file. I had those from a previous installation but I’m looking on the installation folders to know where they are by default.


(antonk) #2

Hello

They are distributed as part of Olympia sources. Also I’ll link them here: Olympia.zip

Setting up different Olympia connection:

Olympia server should not be running while the changes below are being made.

Create or modify the Olympia.daConnections file using some XML editor or even Notepad:

Set the default property to True for one of the predefined connections and modify its connection string - it should point to the database created in MS SQL.

Default contents of Olympia.daConnections file:

<?xml version="1.0" encoding="utf-8"?>
<Connections>
  <PoolingEnabled>True</PoolingEnabled>
  <PoolingBehavior>Wait</PoolingBehavior>
  <MaxPoolSize>10</MaxPoolSize>
  <WaitIntervalSeconds>1</WaitIntervalSeconds>
  <PoolTimeoutSeconds>60</PoolTimeoutSeconds>
  <Definitions>
     <Definition><Name>Olympia.MSSQL.NET</Name><ConnectionString>MSSQL.NET?Server=localhost;Database=Olympia;Integrated Security=SSPI</ConnectionString><Default>False</Default><Description></Description><ConnectionType>MSSQL</ConnectionType></Definition>
     <Definition><Name>Olympia.MSSQLCE.NET</Name><ConnectionString>MSSQLCE.NET?Server=localhost;Database=%OLYMPIA%\Olympia.sdf;</ConnectionString><Default>False</Default><Description></Description><ConnectionType>MSSQLCE</ConnectionType></Definition>
     <Definition><Name>Olympia.SQLite.NET</Name><ConnectionString>SQLite.NET?Server=localhost;Database=%OLYMPIA%\Olympia.sqb;Synchronous=Off;</ConnectionString>     <Default>True</Default><Description></Description><ConnectionType>SQLite</ConnectionType></Definition>
     <Definition><Name>Olympia.FB.NET</Name><ConnectionString>FB.NET?Server=localhost;Database=%OLYMPIA%\OLYMPIA.GDB;UserID=sysdba;Password=masterkey; 
     </ConnectionString><Default>False</Default><Description></Description> 
     <ConnectionType>Interbase</ConnectionType></Definition>
  </Definitions>
</Connections>

Delete all other connection definitions - they aren’t needed.

Put the modified Olympia.daConnections file next to ROOlympiaServer.exe

Modify the ROOlympiaServer.exe.config file. You need to update the MaxOlympiaPoolSize property. This property defines how many simultaneous connections the Olympia server can establish to the underlying database. For MS SQL you should set this value to 16.

(I’ll log an issue to add this to the current documentation site)


(RemObjects) #3

Thanks, logged as bugs://80554


(estebanp) #4

Anton,

Thank you very much for the response. I was wondering why there are no keys (constraints) defined on the tables. Even the default Sqllite db definition included contains some keys, wouldnt it help out (performance wise) to have them? is there any special reason not to? and if not, what will be? (specifically EventUserData)

And yes, it will be good to include the scripts as part of the install or the documentation.


(antonk) #5

Seems it was a missing checkbox when a database has been converted into a script (all other scrips contain primary key definitions).

Yes, primary keys are extremely important for performance, especially on big tables.

Please add PK to the tables via SQL Server Management Studio using this script:

ALTER TABLE [EVENTDATA] ADD PRIMARY KEY ([EVENTID]);
ALTER TABLE [EVENTUSER] ADD PRIMARY KEY ([USERID]);
ALTER TABLE [EVENTUSERDATA] ADD PRIMARY KEY ([EVENTUSER],[EVENTID]);
ALTER TABLE [SESSION] ADD PRIMARY KEY ([ID]);