What really changed from SQL Mobile to SQL Compact besides allowing the database to run on any desktop? Is there a document somewhere explaining the differences, I did not see anything?
I just changed my development machine over to SP1 and wondered what code I should be changing.
I am filling the database from my C++ Desktop app using ADO using the OLEDB provider Microsoft.SQLSERVER.MOBILE.OLEDB.3.0 and using System.Data.SqlServerCe in my C# mobile app. Is that OLE provider valid with the new version or should it be *.COMPACT.3.1?
I thought there was now suppose to be some sort of automatic compaction, but I did not notice any new properties.
We currently use SQL Mobile and SQL Server 2005. We depend heavily on merge replication for data to the field handheld devices.
We are going to be starting some new projects and I was wondering about moving to SQL Compact Edition as the first step to migrating all of our applications.
I am concerned, however, about the server side and replication. If we simply deploy SQL Compact Edition will there need to be any changes to the server for replication?
I have not seen much info on this so I thought I would ask the forum. I have VS2005, no SP1 and SQL Mobile installed on my computer. I started developing an app for Windows Mobile 5 using RDA and it appears to work fine. Now I want to know what happens to SQL Mobile if I install SQL CE. Is it going to affect my app? Do I have to install the SQL CE merge replications tools for IIS again? I already have them for SQL Mobile? Will this affect the operation of my app? It looks like the installation procedures call for installing SQL CE tools to VS2005 before installing VS2005 SP1 then install VS2005 SP1 and finally install SQL CE tools for VS2005 SP1. Any help, thoughts or experiences involving this would be appreciated.
I'm porting my C++ (EVC3) application from Sql CE 2.0 to Sql Mobile 3.0 (with OLE DB). To compact a 2.0 database, i used ISSCECompact interface. But it doesn't exists with the new version. I've only found C# and VB.Net samples in MSDN ...
Just released small piece of software with SQL Compact Edition, version 3, dll files distributed with the application.
Now feedback from 2 people suffering an error message as follows: SQL Mobile usage is restricted on this platform. To use SQL Mobile, you must install SQL Server 2005, Visual Studio 2005, or the Tablet PC SKU.
Both using XP under Admin accounts.
My own testing did throw up this error prior to release, but only when I tried to run the program as a Limited User. I was unable to find out why. Running the program under an Administrator account never produced this error message.
The test-bed was a fresh install of XP, SP 2, running within VMware. An Administrator account was set up. No development software was installed, nor anything to do with SQL. I tried to make it a clean environment to be used by a non-technical user.
So I started an SQL CE database for use inside a mobile application. I used SSMS to create a .sdf file (because if I let Visual Studio do it, SSMS can't open it because it will be version 3.5).
The reason I wanted to use SSMS is because I wanted to be able to design the database in design view, and populate it with initial information for the application to use. That means adding tables and rows.
The problem is, SSMS doesn't seem to have a design view available when working with CE databases. It also doesn't seem to have a feature for adding rows into tables. It's essentially as useless as VS2008 for designing my mobile database. It only lets me add tables, and I can't even do that visually in design view. I have to use those cumbersome forms.
Is there any way to design a CE database in design view? And add rows of data into tables? It feels like I'm overlooking something.
Note: I dont need to subscribe or publish the database. The mobile application just needs to use the database as a repository.
I am confused about the version numbers for SQL Server Compact/Mobile. It _looks_ like the versions went from CE 2.0 to Mobile 2005 to CE 3.0 (or 3.1). Is this correct? In fact, I found one location the specifically said Compact Edition is the next version of Mobile. In another location I saw Compact Edition referred to as 2005 CE.
This has got me going because I am creating a Mobile/CE app and I keep getting a "Initialize SQL Server Reconciler" and the best information I can find indicates a mismatch between the server component and the client component.
So, what are the current versions of Mobile/CE? Is there a location that lists all of the components and what version they should be?
I completed that example that I pasted in the subject part and when I try to synchronize my mobile database, the data from the server appear in my pocket pc; but when i refresh the data on my pocket pc they do not show on the server.
I've been trying to create an installer for a little .NET CF 3.5 app I've written for Windows Mobile. It uses SQL Server Compact 3.5. I've got the .NET CF and my program to deploy on the device using ini files and ceappmgr.exe, but when I try to do the same for SQLCE 3.5, it doesn't work (more on this in a sec).
I need my installer to install across lots of different CPU architectures, so I created an ceappmgr INI file that includes all the different cabs for the different CPU architectures. I'm trying to test the installer by making it install on my smartphone (ARM CPU). The problem is, when I install it I get an error message on the device "The installation file is not intended for this device.". I reckon this means ceappmgr is picking the wrong cab file and trying to make my phone install it!
I did a bit of testing and found out if I remove all the cabs from my ceappmgr INI file EXCEPT for the one that is appropriate for my smartphone, then it works fine! But as soon as I include a cab file that is not appropriate for my device (eg a different cpu architecture, or the ARM PPC cab file), it stops working and I get that "not intended for this device" message.
My INI file looks like this:
[CEAppManager] Version = 1.0 Component = SQL Server Compact 3.5
[SQL Server Compact 3.5] Description = Microsoft SQL Server Compact 3.5 CabFiles = sqlce.phone.wce5.armv4i.CAB,sqlce.wce5.armv4i.CAB,sqlce.ppc.wce5.armv4i.CAB,sqlce.wce5.mipsii.CAB,sqlce.wce5.mipsii_fp.CAB,sqlce.wce5.mipsiv.CAB,sqlce.wce5.mipsiv_fp.CAB,sqlce.wce5.sh4.CAB,sqlce.wce5.x86.CAB
Any idea why ceappmgr would be (seemingly) picking the wrong cab file and trying to make my device install it? Btw, my smartphone uses the "sqlce.phone.wce5.armv4i.CAB" cab file.
Hi, I can't seem to find which SQL Server Compact Edition version is pre-installed on the Windows Mobile 6 rom. I guess it is 3.0, but I'm not sure about it. Another question is, if I use SQL Server Compact Edition 3.5 by deploying the .dll files as part of my application's CAB installer, will this be a problem for Windows Mobile 5 or Windows Mobile 6? Thank you in advance,
I have a windows forms application that runs on my PC that populates a SQL Server Compact 2005 database and then transfers that .sdf file to my mobile device. The communication between the mobile device and PC is done using the Desktop RAPI class from OpenNetCF (http://www.opennetcf.com/FreeSoftware/DesktopCommunication/tabid/90/Default.aspx)
Anyway, I was previously using SQL Server Mobile 2005 and my populated .sdf was around 1.7 MB and I could transfer it to my mobile device in a minute. Once I switched to SQL Server Compact 2005, the transfer process began taking 3 minutes with a 1.5 MB .sdf file. The SSCE also got bloated more easily so I added in the Compact operation each time after I fully populate the SDF to keep the file size at 1.5 MB, but even then it still takes 3 minutes.
I've done a few tests where I simply switch between the two database versions and that simple switch of the version changes the transfer time. I am dumbfounded trying to figure out what the cause might be. Since it is just a file transfer, why would the version even matter unless somehow SSCE is really not compacting and lying about its actual size.
Has anyone run into anything similar to this or may have any ideas what might be going on?
Could someone give me the difference between "Sql Mobile 2005" and "Sql Compact 2005". At first I thought they were the same, that this was just something of the change in naming the server has had the last months. My first guess was that Mobile would be the new one, but I have 'accidently' downloaded the Compact and what seems the System.data.SqlServerCE.dll is newer.
So is there a difference? If yes, what are they. If not, is the "compact" then the latest version and the name to be used (since on the site only "mobile" is mentioned).
I'm a bit confused about the editions. Will SQL Server Compact v3.1 be a successor of SQL Server Mobile v3.0 (but with desktop and mobile targets) or will the two editions coexist with SQL Server Mobile on Smart Devices and SQL Server Compact on desktop PCs?
I'm drawing this conclusion because the CTP & now also the RC1 of SQL Server Compact are only compiled for desktops (and I've also seen that the .NET library is compiled against .NET Framework 2.0 desktop edition). If I'm wrong, why are no smart device CABs provided?
My second question: Is the file format of SQL Server Mobile & Compact the same? Can I create a SDF file with the Compact Edition on the desktop, move it to the smart device and use it there with the "older" Mobile Edition? I'm asking, because we are starting a project where we need to create a SDF on the desktop, because of performance reasons.
Hello, there are some limitations in SQL Server 2005 Mobile Edition - e.g. there is no TRUNCATE TABLE statement, the UPDATE .. FROM clause is not allowed etc. Are these limitations in Compact Edition too? Is T-SQL in these editions functionally equal or different? Is there any comparison of T-SQL features in both editions?
I'm currently looking at adding a database to my company's WinCE 4.2 -based device, running applications coded with embedded CE 4.0. We want to start tracking potentially large quantities of user data (10K-30K 500 byte records) and are looking at a database engine to support this. The database would reside on the device although we would potentially dump the data from the devices to a central workstation that would be used to pull reports about the data across multiple devices. SQL Server Compact Edition sounds like a possible solution, but I'm unclear if it's supported on CE 4.2 or how to install it if it is. It's clearly supported on CE 5.0, but it may be a while before we upgrade to CE 5.0 or 6.0. I've seen references that say that SQL Server Compact Edition is the same as SQL Server Mobile Edition, and references that Mobile Edition is supported on CE 4.2, but I'm unclear if I can install and use SQL Server Compact Edition on CE 4.2 or if I'm on a wild goose chase. If not, can I use SQL Server Mobile Edition and migrate to SQL Server Compact Edition when we upgrade CE to 5.0 or 6.0? If not Mobile Edition, what about Microsoft SQL Server CE 2.0? Is that going too far back in the archives? Thanks for any guidance/enlightenment you can offer.
I don't understand why I am having this error. It does create the database on AddSubscription() method but it is failing opening the database on Synchronise(). I have also tried uninstalling and then reinstalling all the SQL Mobile components in the following order.
suggested that this problem could be circumvented by getting the replication object early and then continuously using the same object for subsequent replications.
I did this and it works a lot better now but ever so often I get another error which is
Native Error 28559 SQL Mobile encountered problems when opening the database
My only option at this point is to stop and start the application which cures the problem.
I am developping a non-managed C++ application for PocketPC using a SQL Server mobile database.
The application is compiled for PocketPC 2003 and uses SQL Server Mobile v2. I use Visual Studio 2005. But I need to compile the application for Windows Mobile 5.0 devices. So I installed the WM5 SDK and had the WM5 into my project configuration.
The "ssceoledb.h" which I include incluses the "transact.h" file. But my problem is that this file is only provided with the PocketPC 2003 SDK and not in the WM5 SDK. So I cannot use the WM5 configuration project with SQL Server. I also tried with the last SQL Server Mobile 2005 (ie v3.0) and the "ssceoledb30.h" also includes "transact.h".
Did I miss something to install ? Do you know how I can resolve the problem ?
Using MS VS 2005 (incl SQL Server Mobile) MS Pocket PC 2005 SDK
I am working on a project that builds for Pocket PC on both Mobile 2003 and Mobile 5. The project uses/will use SQL Server Mobile to store local data.
Project created from new with support for both platforms. I include required header files ssceerr30.h and ssceoledb30.h.
Project builds fine in WM2003 configuration, release and debug.
When I build for WM5 the compiler cannot find the header file transact.h. This is included from within ssceoledb30.h. Same as under WM2003.
In WM2003 configuration if I highlight the ssceoledb30.h include in Visual Studio and open the header, it takes me to <Visual Studio dir>SmartDevicesSDKSQL ServerMobilev3.0. I then locate the include for transact.h and do the same, which takes me <Visual Studio dir>SDKPocketPC2003include. The file exists.
If I repeat the above 'browsing' under the WM5 configuration, ssceoledb30.h takes me to a different copy in the WM5 SDK directory. There is no diff between the file here and the other copy used by WM2003. If I attempt to open transact.h - file does not exist.
Fix (which I'm not too sure about, i.e. is it OK?) - If I copy transact.h to the WM5 SDK directory, the project builds.
Why has transact.h disappeared from WM5 SDK? I can find no ref's to this problem anywhere. Is my installation of the WM5 SDK corrupt? What else could I be missing? Is there a sample for SQL Server mobile (like the NorthwindOLEDB sample) that comes configured to build for WM5?
I receive error 25123 on my PPC (audiovox 6600) in a reproducable way (usually) with .net 2.0 application that is using SQL CE that I wrote:
Open the application Connect to the database Close the applicaton Re-Open the application Connect to the database <-- Error occurs
I will also receive the error if my application isn't the first application launched (or very close to the first to launch).
I don't believe it's a memory issue as according to the memory manager I have plenty of memory:
At boot up only start screen items loaded: 18.46 Used 49.89 Free Launch Resco File Explorer to click EXE: 19.18 Used 49.18 Free Launch my application (no DB connection): 23.64 Used 44.71 Free Connect to the DB and do select count(*) from a table with 0 rows: 26.27 Used 42.08 Free Close the application (this.Close() on the form: 19.38 Used 48.97 Free Relaunch App and connect to DB receive error: around 38 Used around 30 free
I was unable to reproduce the issue right now while typing this message, the last sets of numbers are from memory, and include other applications that are currently running.
The only way I have to get SQL CE to load again is to soft reset the PPC. If the application is able to connect to SQL CE at least once it is fine up till I close it and re-open the application. So it either connects and runs great, or it can't connect at all.
Any help in resolving this issue would be greatly appreciated. Wayne
Hi folks, I'm new to Windows Mobile progamming, and new to this forum. Apologies in advance if I'm asking a boneheaded question, but I've done searches and can't find anything directly applicable to my problem.
I'm currently walking through the published MS tutorial in setting up an SQL Server 2005 Mobile application that subscribes to a publication on SQL Server 2005 to exchange information.
I've gotten almost all the way through... successfully set up the server components, creating the publication, etc. On the mobile side, I've been able run the cab files to install the SQL Mobile components and to create the project, add the reference to the dll, and instantiate an engine object. It compiles.
The step in the tutorial after that, though, where you specify the data source from the "data" menu, I've got a problem. When I try to use the "new connection" dialog from choosing the data connection, "MS SQL Server Mobile Edition" doesn't show up as a choice. I've tried choosing any of the other combinations, and in teh subsequent "Connection properties" section my database, SQLMobile (as in their sample) is available, but I get an error when I choose it and click OK. Clicking on "Test Connection" gives me a connection successful message.
My guess is that something about the Mobile server side components is not installed correctly on my development machine, but honestly I have no idea how to begin to fix it. Has anyone seen this problem before and know how to resolve it?
Your time and any knowledge sharing is greatly appreciated. Thank you, -Dana
This is a great tutorial and it's a shame one of the more important steps was missed. In the €œCreate the snapshot user€? section you you find the steps to create the snapshot_agent account. Then in the €œCreate the snapshot folder€? section you find the share and folder permissions. However, at no point do the instructions advise you about adding the snapshot_agent to the SQL Server Logins. The result is that agent cannot perform the initial snapshot but you won't find this out until 50 steps later after Step 10 in the section €œCreate a new subscription".
To get back on track, openthe Object Explorer's Security section and add the snapshot_agent to your logins. Then using the "User Mappings", set an appropriate level for the SQLMobile database role. Once completed you then need to run the agent.
Right-click the SQLMobile publication you created and select "View Snapshot Agent status". From that dialog you can select "Start" to run the agent. When it completes, you can return to the tutorial section "Create a new subscription" and continue with the tutorial.
I am studying the tutorial in SQL Server 2005 Mobile Edition Books Online, and the topic is Creating a Mobile Application with SQL Server Mobile. I have got a problem when creating a new subscription after created a new SQL Server Mobile database. And the problem is shown below:
New Subscription Wizard
- Beginning Synchronization (Success)
- Synchronizing Data (100%) (Error) Messages * Failure to connect to SQL Server with provided connection information. SQL Server does not exist, access is denied because the IIS user is not a valid user on the SQL Server, or the password is incorrect. HRESULT 0x80004005 (29061)
* 無法完æˆ?作æ¥ã€‚
- Finalizing Synchronization (Stopped)
- Saving Subscription Properties (Stopped)
Before I have met this problem, I have finished all the task. And I can browse the localhost web site by using anonymous account even I use internet explorer or browse the directly in IIS.
End Sub this code worked well. we know sql7 is not compatiable with vista. please tell us how to connect it wiith sql2005 . we downloaded orcas express edition beta. we created a database also. please let u know how to connect with Microsoft SQL Server Compact 3.5 (.NET Framework Data Provider for Microsoft SQL Server Compact 3.5).
we've got a SQL Server 2005 which replicates with an SQL Server Compact 3.5. Every 10 to 20 synchronisations we're getting the error mentioned above. A Soft reset of the device helps to make the synchronization working again.
Why is this error happening and how can we resolve this?
BTW, we've also running system that replicates with an SQL Server Compact 3.0 without having this problems.
When I try and connecto to SQL CE I always get an invalid operation exception. I"m afraid that I did not follow the proper install for Orcas Beta 2. I can't remember if I was supposed to uninstall SQL Mobile 2005 first or not.
All I know is when I try and use my SQL CE I can't connecto to a DB / sdf file ?
Any help would be appreciated I"m just starting to use SQL CE.
everything is ok for first run. but i leave the program relogin than that error occured ppc2003 second edition devices. Windows mobile 5.0 device works fine. can anybody help me?
VS2005 ver 8.0.50727 SSCE31VSTools-ENU.exe loaded SSCE31SDK-ENU.msi loaded
machine 1 SQL 2005 loaded
machine 2 http://192.168.20.22/ssce/sqlcesa30.dll "Microsoft SQL Server Compact Edition Server Agent" looks fine
pocket pc side C:Program FilesMicrosoft SQL Server Compact Editionv3.1SDKinwce400armv4
End Try ------------------------------------------------------------------------------ i added the following code to very beginning of my code too. that code lock my device
Declare Function LoadLibrary Lib "coredll" Alias "LoadLibrary" (ByVal lpLibFileName As String) As IntPtr