Hi,
I'm evaluating sqlserver compact and I have detected an ugly
restriction.
Apparently, its not possible to create a table containing 'double
precision' values, like
Create Table myTab (myDbl DOUBLE PRECISION);
The result is:
SQL Execution Error.
Executed SQL statement: Create Table myTab (myDbl DOUBLE PRECISION);
Error Source: SQL Server Compact ADO.NET Data Provider
Error Message: There was an error parsing the query. [ Token line
numer = 1, Token line offset = 27, Tiken in error = DOUBLE ]
While spending some time with the problem, I have found MS
documentations that claims double precision is a valid data type for
sqlserver compact. This is also what I expect from a database system.
I got the sqlserver compact 3.5 by installing VS 2008. I also ran an
update to the latest runtime version, but this seems to have changed
nothing.
I use ADO from unmanaged C++ to access the sqlserver compact database
files which works fine so far.
ADO::Connection::GetProvider() returns: Microsoft.SQLSERVER.CE.OLEDB.
3.5
ADO::Connection::GetVersion() returns: 2.8
Using a NUMERIC datatype may be a workaround but how to get a NUMERIC
into a ADO::Command parameter in C++?
In my application its essential to store double values (64 Bit) and
run selects against it.
Has anybody hints or a solution for this?
thanks & regards
Axel
ErikEJ - 14 Mar 2008 07:18 GMT
The supported data types are listed here:
http://msdn2.microsoft.com/en-us/library/ms172424(SQL.100).aspx

Signature
Erik Ejlskov Jensen, Mobile App Dev MCTS
Check out my SQL Compact blog at
http://erikej.blogspot.com
> Hi,
>
[quoted text clipped - 36 lines]
> thanks & regards
> Axel