Write SalesLogix Tables Using External Applications
Posted by
R.J. Samp on Thu, Jan 19, 2012 @ 10:49 AM
If you are writing to a SalesLogix database through the SLX OLE DB PROVIDER using an application (e.g., VB6, VB, VB .NET, C# .NET, et al.) and the results are showing up locally but not on the remotes, then you will need to look at any DateTime strings being updated or inserted through direct SQL.
Your update/insert SQL statement will successfully store to the local/main database, but will not sync to the SLX remotes. This is because the SLX OLE DB Provider rejects the SQL Update/Insert statement for the creation of a TEF file (the sync file) if the DateTime string is not correctly formatted.
The Quasi ISO Date string format for a direct SQL statement insert/update must be (that means nothing else will work - no exceptions, full stop, no sync, etc.):
"YYYYMMDD hh:mm:ss"
Today's date would look like:
'20120119 09:20:00'
This does not sync, but will update the local database, because the DateTime format will be wrong:
“UPDATE ACCOUNT SET USERFIELD1 = ‘AARDVARK’, MyDateTimeField = ‘” & NOW() & “’ WHERE ACCOUNTID = ‘A6UJ9A…..”
Bottom Line: it doesn’t matter how pretty and elegant your object oriented class structure is in your application, if the DateTime string format for a direct SQL statement does not follow the SLX Sync rules. Your statement will get rejected by the Sync Server, and the update/iInsert will not occur on your remote offices' and users' databases. Period.
Full Stop.