{{Quickfixn}} help with example storing message in database thru odbc

Grant Birchmeier gbirchmeier at connamara.com
Tue Oct 21 13:28:53 PDT 2014


The MessageStore and the FileStore are two completely different
components.  It should be no problem for you to use one medium for the
store and another for the log.

However, I'm concerned that you are confusing the message log with the
message store.

The LogFactory creates two sets of files: the *message log* and the *event
log*.  The *message log* contains every message sent and received; it is
very useful to humans.  The *event log* contains status messages; it is
kind of useful to humans sometimes.  The engine doesn't care about either
log file.

*The store is something else.*  It is used internally by the engine to
store session state in case of resend requests and such.  *Humans should
ignore it.  All other applications should ignore it too.  It is only for
QF.*  If you want to use a DB for the store, great, but that is not an
invitation for other apps to start messing with it.

On Tue, Oct 21, 2014 at 3:13 PM, Alberto Honorato <honorabetto at gmail.com>
wrote:

> Thanks Olamide and Ruaan, I will try your suggestions, just to clarify, I
> want to store the messages using the IMessageStoreFactory. I am going to
> use a log in a file and the messages in a database. Have you seen something
> similar in your projects?
>
> Thank you.
>
> On Tue, Oct 21, 2014 at 3:08 PM, Ruaan Viljoen <ruaanv at gmail.com> wrote:
>
>> Hi Alberto,
>>
>> I have a branch on my github that I just pushed some local code I had
>> been testing recently. It's rudimentary and incomplete, but hacked it
>> together along with some PostgreSQL derived classes in a testing
>> environment for some performance tests. Also, it uses SqlConnection instead
>> of OledbConnection, but you should get the gist and strip out and swap the
>> sections you need or extend and override where appropriate.
>>
>> I'll be finishing it off in the holiday and adding some unit tests. I'm
>> not sure this fits with the current direction of QuickFix/n master branch
>> currently, especially with the Logging interface discussions going on at
>> the moment, but feel free to use it if it may help.
>>
>> Regards,
>> Ruaan
>>
>> Ruaan Viljoen
>>
>>
>> On 18 October 2014 15:59, olamide olatunji <krazibit312 at gmail.com> wrote:
>>
>>> Hi Alberto,
>>> Not sure the DB Logging is implemented in QuickFixN yet, but you can by
>>> implementing the ILogFactory
>>>
>>> On Sat, Oct 18, 2014 at 4:50 PM, Alberto Honorato <honorabetto at gmail.com
>>> > wrote:
>>>
>>>> Hello,
>>>>
>>>> I am implementing a quickfix connection with .NET. Right now the
>>>> messages are being saved in a text file, however for my project I need to
>>>> store them into an sql server database thru ODBC.
>>>>
>>>> I have been searching the web to achieve this, but I wasn't able to
>>>>  find any example.
>>>>
>>>> Could you help me with an example, similar to the code below, that
>>>> stores the FIX messages into MS SQL Server?
>>>>
>>>> Thanking in advance
>>>>
>>>> Alberto Honorato
>>>>
>>>> *main**method*
>>>>
>>>> *QuickFix.SessionSettings**settings**= new**QuickFix.SessionSettings*
>>>> *(file);*
>>>> *TradeClientApp**application**= new**TradeClientApp**();*
>>>> *QuickFix.IMessageStoreFactory**storeFactory**= new*
>>>> *QuickFix.FileStoreFactory**(**settings**);*
>>>> *QuickFix.ILogFactory**logFactory**= new**QuickFix.FileLogFactory**(*
>>>> *settings**);*
>>>> *QuickFix.Transport.SocketInitiator**initiator**= new*
>>>> *QuickFix.Transport.SocketInitiator**(**application**,**storeFactory*
>>>> *,**settings**,**logFactory**);*
>>>>
>>>> *Configuration**file*
>>>>
>>>> *#**default**settings**for**sessions*
>>>> *[**DEFAULT**]*
>>>> *FileStorePath**=**store*
>>>> *FileLogPath**=**log*
>>>> *ConnectionType**=**initiator*
>>>> *ReconnectInterval**=60*
>>>> *SenderCompID**=******
>>>>
>>>> *#**session**definition*
>>>> *[**SESSION**]*
>>>> *#**inherit**FileStorePath**,**FileLogPath**,**ConnectionType**,*
>>>> *ReconnectInterval**and**SenderCompID**from**default*
>>>> *BeginString**=**FIX**.4.4*
>>>> *TargetCompID**=*****
>>>> *SenderCompID**=******
>>>> *StartTime**=01:00:00*
>>>> *EndTime**=23:30:00*
>>>> *HeartBtInt**=60*
>>>> *SocketConnectPort**=********
>>>> *SocketConnectHost**=*********
>>>> *DataDictionary**=../../**dictionary**/FIX44.**xml*
>>>> *FileLogPath**=../../**Log**/**LogFix.txt*
>>>> *FileStorePath**=../../**store*
>>>>
>>>>
>>>> ================================================================================================
>>>>
>>>>
>>>> *main**method*
>>>>
>>>> QuickFix.SessionSettings settings = new QuickFix.SessionSettings(file);
>>>> TradeClientApp application = new TradeClientApp();
>>>> QuickFix.IMessageStoreFactory storeFactory = new
>>>> QuickFix.FileStoreFactory(settings);
>>>> QuickFix.ILogFactory logFactory = new QuickFix.FileLogFactory(settings);
>>>> QuickFix.Transport.SocketInitiator initiator = new
>>>> QuickFix.Transport.SocketInitiator(application, storeFactory, settings,
>>>> logFactory);
>>>>
>>>> *Configuration**file*
>>>>
>>>> # default settings for sessions
>>>> [DEFAULT]
>>>> FileStorePath=store
>>>> FileLogPath=log
>>>> ConnectionType=initiator
>>>> ReconnectInterval=60
>>>> SenderCompID=*****
>>>>
>>>> # session definition
>>>> [SESSION]
>>>> # inherit FileStorePath, FileLogPath, ConnectionType, ReconnectInterval
>>>> and SenderCompID from default
>>>> BeginString=FIX.4.4
>>>> TargetCompID=****
>>>> SenderCompID=*****
>>>> StartTime=01:00:00
>>>> EndTime=23:30:00
>>>> HeartBtInt=60
>>>> SocketConnectPort=*******
>>>> SocketConnectHost=********
>>>> DataDictionary=../../dictionary/FIX44.xml
>>>> FileLogPath=../../Log/LogFix.txt
>>>> FileStorePath=../../store
>>>>
>>>>
>>>> _______________________________________________
>>>> Quickfixn mailing list
>>>> Quickfixn at lists.quickfixn.com
>>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Quickfixn mailing list
>>> Quickfixn at lists.quickfixn.com
>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>
>>>
>>
>> _______________________________________________
>> Quickfixn mailing list
>> Quickfixn at lists.quickfixn.com
>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>
>>
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
>


-- 
Grant Birchmeier
*Connamara Systems, LLC*
*Made-To-Measure Trading Solutions.*
Exactly what you need. No more. No less.
http://connamara.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20141021/fd728c92/attachment.html>


More information about the Quickfixn mailing list