Upgrading From Sqlce 3.1 To 3.5 Questions
In the readme of v3.5, it mentions that if I use 3.5 to open a database file created by previous version, the version number will be updated to 3.5, so I opened it in c# and run some select statement, then I run the verify() command and here's what's returned:

it seems the database file did not get updated to v3.5. Unless it's returning original info.

Then, I take this same database file and try to access from another project with v3.5 runtime + Enterprise Library, and it generates this error:

An exception of type 'System.Data.SqlServerCe.SqlCeException' occurred in guardian.exe but was not handled in user code

Additional information: You are trying to access an older version of a SQL Server Compact Edition database. If this is a SQL Server CE 1.0 or 2.0 database, run upgrade.exe. If this is a SQL Server Compact Edition 3.0 or later database, run Compact / Repair. [ Db version = 3505053,Requested version = 3004180,File name = D:Dataceguardian.sdf ]

I am confused. Shouldn't 3.5 opens it up regardless of what version it is?

Sqlce 3.0 Vs Sqlce 2.0 Memory Issue
I am currently upgrading our ppc app (written in .net 2003) to .net 2005 and from sqlce 2.0 to 3.0. The new application runs out memory(storage) when handling lots of data transactions (both in case of using sqlcedatareader, and dataset ). There is no memory leak issue here, sqlce 3.0 simply uses a lot more (3 times more) memory than sqlce 2.0.

Our applicaton runs fine using sqlce 2.0 and .net 2003, but fail due to memory shortage

with the upgrades(which has the same code). Anyone can shed some lights on this issue?

I found this on an msdn website (link: http://www.microsoft.com/sql/editions/sqlmobile/upgrading.mspx) but as you can see its very lacking on detail. (I included the link and content referring to upgrading the database files so you won't have to go to the link to see the part referring to upgrading the database.) I tried to run the upgrade.exe on my device but it doesn't explain how you're supposed to point it to the .sdf that you are trying to update. Here is the content on the above web page.

Upgrading Database FilesYou can upgrade a database created with an earlier version of SQL Server CE 2.0 to a database created with SQL Server Mobile by using the SQL Server Mobile Database Upgrade tool (upgrade.exe). The Database Upgrade tool runs on a smart device.

When you run the SQL Server Mobile Database Upgrade tool, the new SQL Server Mobile database is created on the smart device. The new database, with the file name extension .sdf, contains all the data that was in the source database. You need to reinitialize the upgraded database to continue using it for replication.

Note: If you are using replication or remote data access (RDA) as a connectivity solution before upgrading to SQL Server Mobile, you must synchronize the source SQL Server CE database (subscription database) with the SQL Server database (Publisher). The reason for synchronizing before upgrading to SQL Server Mobile is to ensure that any changes that exist in the tables on the SQL Server CE database are updated on the SQL Server database, because after the upgrade you must resubscribe or repull using the new database.

Sqlce 3.5 Won't Run On Asp.net
My app is working on my local system with the vs2008 development server. It's an asp.net app and I added the line: AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);

So it works fine on my system. But I can't get it to work on shared hosting. I have uploaded all the sqlce 3.5 dlls to the bin directory. I am stuck at the error:

Access to the database file is not allowed. [ File name = ]

There actually is a file name in the connection string, and I set the permissions wide open on App_Data to test this.

What are the .net framework requirements for sqlce 3.5? I can't find this info anywhere.

I know sqlce 3.5 is not recommended for asp.net, but it is not the main site database but is used for a setup database utility to be installed for a windows app.

Sqlce Utility Need Help
Last month , I have made a utility named sqlce viewer to help me manage sqlce 3.5 beta version databases . The location is https://sourceforge.net/projects/sqlceviewer/

And now , I encounter a strange problem , need some help .

After user install this utility or run it standalone execute file .There has a error message poped before see the login in form . Even user has installed .net framework version 3.5 .And if user has installed visual studio 2008 beta2 ,this problem will not existed .

This utility depend on these components :1)WPF2).net framework 3.5 beta

I don't know what's the reason clearly . Anyone could give some advice are warm welcome.

I wrote a very simple C# console application which was designed to give us a rough idea on the performance and reliability of SQLCE (the source code without metrics has been posted to this group recently). What I've found is that there are major performance and reliability issues with SQLCE 3.0 as opposed to SQLCE 2.0. Whereas SQLCE 2.0 seems to be fairly consistent in terms of it's memory usage and the amount of time taken to insert rows into the table regardless of the size of the table (to a limit, after about 300,000 records it too has major performance issues), SQLCE 3.0 seems to slow down noticably and continually use more memory even after a few thousand records are inserted and actually crashes (consistently) after 25592 records are inserted!

What gives? Based on this it would seem that SQLCE 2.0 is far preferable for an unattended device that needs an uptime of over 30 days whilst constantly (several times per minute) inserting into the database.

SqlCe Not For Productive Use?
I'm still having trouble deploying my Compact Edition application. The installation on other computers works, but if the program tries to start, i get the error message (translated from german):

"This Version of SQL Server 2005 Mobile Edition is not licencensed for productive use"

I always thought that there are no licence restriction with SQL Compact Edition. Strangely the the programm works on some computers... as I think on all computers where Visual Studio is installed.

Which SqlCe Cab File I Can Use
Hi i developed Wm5 PPC application with sqlce database. i Create Cab file when i install in my HP WM5 PPC that will showe the Message sqlcewm.dll missed. Please tell me 1)sqlce30.ppc.wce5.armv4i 2)sqlce30.wce5.armv4i 3)sqlce20.ppc.wce5.armv4i..Please Help me

Any idea what could be the possible problem?I have been trying to search thru the internet for a resolution but most of the guides are very brief about the configuration of the merge replication in mssql2000 server. e.g. http://msdn.microsoft.com/msdnmag/issues/03/09/DataPoints/default.aspx This link above its recommended by Microsoft, but still doesn't really helps.

Does anybody have a step-by-step guide on configuring the merge replication in mssql? With diagrams preferred.

Installing CAB Files Using SQLCe
I’m using SQLCE and SQL Server2000 to replicate to a Pocket PC running PPC MS windows 2002. What I want to know is it possible to update my cab file on the PDA remotely?

Subscribing To Two Publications On SQLCE
I have two publications on a SQL Server 2000 database.I am able to create two subscriptions from another SQL Server 2000 databaseand synchronize both in succession.

However when I try to repeat this going from SQL Server 2000 to SQLCE 2.0it fails. The first goes OK. The second fails. I get error 80004005, 28521 (The SQL Server CE database is already enabled for publication.Is it possible to do what I am trying to do on CE?

The reason I have 2 publications is because the first is non-filtered and goes very fast via bcp files when reinitialized.The second is dynamically filtered and not as fast. Breaking them up makes reinits go much faster.

hi, I am developing a PDA project using Windows CE 6.0 I develop an Application using VS 2008 and create a database using SQLCE 3.5 in VS2008. I run the Application in Mobile 6 Emulator, it is correctly.

When I integrate it in My Custom OS, there is an error to connect the SQLCE 3.5 Database.

I, then, create a database in my PDA Emulator using isqlw35.exe (Query Analyzer) and located in WindowsTest2.sdf.After create the Test2.sdf, I use the Query Analyzer to re-open it. It is correct with no error!I use my Application to open the WindowsTest2.sdf, and it is correctly too!

Therefore, the problem would be: The SQLCE 3.5 database I created in VS2008, named 'Test.sdf' cannot be opened in my customed ce 6.0 OS. However the database I created in my customed OS 6.0 emulator ,named 'Test2.sdf' works fine.

Is there any difference or what's wrong when I create a SQLCE 3.5 database and integrated in Windows CE 6.0???

Running The SQLCE SERVER
hi I am new in SQLCE and I am trying to run SQLCE SERVER...I have already downloaded the software and installed it as server on my computer...I have checked the services running on my system but could not find SQLCE server, I don't know what is wrong with it and don't know what to do with SQLCE server ..I will be glad if any one would tell me what to do...thanks.......

I'm using the CSVDataAdapter.dll to import from a csv file. I'm able to load the data into a dataset but from there I'm having my problem. Since the recordset is not from my table that I want to write, how can I pass the recordset for appending?

I would, however, like to use VS2008 for this. If I target Framework 2.0, will I still be able to use SQLCE v3.5? The new SET IDENTITY INSERT functionality is an absolute requirement. (Note: I haven't installed VS2008 yet--I'm still investigating options.)

SqlCe &&amp; SqlClient In One Application
Hi,Can I use SqlCe v3.1 and SqlClient v2.0 in one .net application? (Note: I can't use RDA or replication. SqlClient read and write data in ON-LINE mode, SqlCe store and manipulate with data in OFF-LINE mode.)

SQLCE 3.5 Support For VS2005
Neither the SQLManagement Studio nor Visual Studio 2005 will open a 3.5 database. I understand that it's a "Orcas" technology but it works fine with vs2005 and Framework 2.0. I'm currently using VS2005 with CE 3.5 and using Rafik's Sync services, support for 3,5 would be a great help for the XSD and query creation.

Strange Problem With Sqlce 3.5
I used vs2008 team suite rtm and sqlce 3.5 . When I connect to a sdf file which I created and used early in Vs2008 IDE Server Explorer.There is a very strange problem. When I test connection . it pop me OK . but when I click Ok to connect the sdf file really . It show me the error message "The path is *****" .

Random Crashing In SqlCE
I have a program that works perfectly...until it crashes. It basically logs info into a SqlCE local file database. After a random time (15 seconds to ~5 minutes) it crashes with the following exception. I cannot find much correleation in the code I've written, except that it seems to crash less often in debug mode...

System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Unhandled exception</Description><Exception><ExceptionType>System.AccessViolationException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Attempted to read or write protected memory. This is often an indication that other memory is corrupt.</Message><StackTrace> at System.Data.SqlServerCe.NativeMethods.SafeRelease(IntPtr&amp;amp; ppUnknown) at System.Data.SqlServerCe.SqlCeCommand.ReleaseNativeInterfaces() at System.Data.SqlServerCe.SqlCeCommand.Dispose(Boolean disposing) at System.Data.SqlServerCe.SqlCeCommand.Finalize()</StackTrace></Exception></TraceRecord>

While testing this problem out, I found it has something to do with this update SSCE31VSTOOLS-ENU and SSCE31VSTOOLS-DEU. Both updates do not run. Instead I get a message that necessary files are missing or do not have the right version for updating.

How could I solve this problem? What is the right order to install this beasty patch?

I noticed that when I reach the line reader = c.ExecuteReader() , the memory of my device decreases by about 1%. The reader is returned to a class which makes use of it and then disposes of it by calling reader.Close(); The connection to the database is also closed properly at some point, but memory never gets released. Memory gets only released when the application terminates.

I am wondering if I am doing something wrong by not disposing of some resources. Please help!

I know that power failure can corrupt a sdf file (http://support.microsoft.com/kb/296076/en-us)

Apart from that, is there any other reason can corrupt a SqlCe2.0 sdf database?

Another problem I found in my sdf database is corrupted record. There is a record in the database has all field with "null" value. When I tried to compact this database in "Query Analyzer", it has cursor there forever. I can still open the database and view those record. I tried to delete this record by saying "delete from job where ... is null", that database is fixed!!! I can compact that dataase again.

Note: I have transaction when writing data to database and my application has quite a lot database corruption issue which is nightware now.

I got a SqlCe2.0 database here called JOB.sdf, size is 260K. When I tried to compact it, it took very long and that JOB.sdf.tmp was created with 27.7M!!!, I can still open table in the database, but I found that there is some invalid data (unreadable square boxes). It looks like database was corrupted. My application gave error:

Private Deployment Of SQLCE For C++ App
MSDN has examples of deploying SQLCE privately for C# and VB.NET, but that doesn't seem to translate to C++. A .NET application just loads the assembly it needs from the local directory, but from what I can tell I need to use the OLE DB driver to use SQL CE in C++. The problem is that the OLE DB driver is a COM object that (presumably) needs to be registered.

Has anyone successfully used SQLCE from C++ without registering any COM objects? I'm thinking the only way to do that would be to call DllGetObject() on the DLL and get the object manually, but I've never done this so I'd hate to waste the time if there's an easier way, or if this won't work.

Trying To Get Jpg Image Saved To Sqlce Db
I'm trying to get this logic to work in vb.net. I keep getting errors on assigning the value of the image to the parameter. Also, how do you do the reverse and retrieve it from the sqlce db into a picturebox? Any help is greatly appreciated. Thank you.

Connect From Sqlce 2.0 To Sql Server 2005
I want to connect sqlce 2.0 to sql server 2005. From "Connectivity Tools for SQL Server Compact, SQL Server Mobile, SQL Server 2000, and SQL Server 2005", I know I should install sql server 2005 without the replication components. I do it, then i find i can not create publication. Without replication, how can i synchronize between sqlce 2.0 and sql server2005?

Problem Loading A Sqlce Table
I've got a db table, that I created in Sever Studio Management and I can se all the data and everything theproblem is that when I load it to the movile device (windows mobile 5.0) it says that the table is NotAblebut in the management works fine, I can't even do a "select * from table", and if you check the query analyzer you se the table but it has no columns.

The DB file exists in the directory specified and is in working order I was able to run a simple sql query against it (SELECT * FROM A_Test). So, I'm a little confused on how to correct this problem??? I'm assuming it's some type of mapping issue with the program and the DB but I'm not sure how to correct..

Code Snippet

Public Function DB_Dataset() As DataSet 'returns a dataset with query results ' Make the database connection. Dim myConnection As SqlConnection = New SqlConnection(GetConnectionString())

'Open the connection

myConnection.Open() 'Open a set of records Dim ad As SqlDataAdapter = New SqlDataAdapter("SELECT [names] FROM testtable", myConnection) Dim ds As DataSet = New DataSet()

'Close the connection

myConnection.Close() End Function

Private Function GetConnectionString() As String Return "Data Source=(" & apppath + "DBA_test.sdf);Database=A_test; Integrated Security=SSPI;" End FunctionAlso since there's a DataSet that contains the connection information shouldn't I be able to access this directly instead of having to supply the connection information in a connect string?

I create data collection applications on Mobile Devices for field biologists. The biolgists need to sync thier field data with a local database upon returning from the field. I am planning on using sqlce as my mobile database and am trying to get a grasp of what my synchronization options are. Here are some of my questions.

1.) Is there any way to synchronize data between a SQLCE database on the mobile device and a SQLCE database on the desktop (third party or othewise)? It appears to me that the answer is no, which is a shame. Whats the use of having a free light weight database that you can use on a mobile device and as a backend on a desktop but not sync data between them?

2.) If my hunch is right, what are my sync options? Installing SQL Server on every field computer is not an option ($$$). If I'm bound to using SQL Server as the backend database, is it possible to have a single SQL Server database on a webserver that the field locations could sync to remotely?

Any feedback to get me started in the right direction would be greatly appreciated.