Problem with Millisecond part of Timestamp

Hi , with FactorySQL, the millisecond part of the datetime is not logged with the data. I am suing the FactorySQL Timestamp to be logged along with OPC Items in a Standard Group. The Millisecond part is always 000


Which database system are you using?


i’m using SQL Server 2000 SP4. I have tried creating new project numerous times but to no avail


The problem is likely caused by the group using “buffered writing” and the database translator file not specifying millisecond precision.

First, try turning off buffered writing and see if that solves the problem. Go to Settings->Frontend settings, and select “Show advanced group settings”. Then, go back to the group and uncheck “use buffered writing” on the advanced tab.

The difference is that without buffered writing, FactorySQL simply puts a “CURRENT_TIMESTAMP” keyword in the query for t_stamp. With buffered writing, however, it must actually put a date.

To solve the problem WITH buffered writing, you have to edit the XML database translator file that you’re using. There are several SQL Server translators for different situations, so you’ll probably just have to edit them all. They are located in “Program Files\Inductive Automation\FactorySQL\database”.

Open the files that begin with SQLServer and change the line that says:

<DateFormat>yyyy-MM-dd HH:mm:ss</DateFormat> to

<DateFormat>yyyy-MM-dd HH:mm:ss.fff</DateFormat>

After saving the files, you’ll need to restart the FactorySQL service for them to take effect (under Control Panel->Administrative Tools->Services)

Please let us know if you still have problems after trying this.


worked great. Thankyou so much