Hi,
When I execute following query against to SqlCE 3.0.53, I am getting an error, could someone guide where it is wrong.
SELECT SLCTD_MENUENTRYID FROM GEN_ENTRY WHERE EXAMID = 'EFBC0657145840CF88184BDCE71430EE'
AND TYPEVALUE IN ('SURG_PROC', 'CV_PROC') AND CLNG(SLCTD_MENUENTRYID) < 0
Error:
Major Error 0x80040E14, Minor Error 25921
> SELECT SLCTD_MENUENTRYID FROM GEN_ENTRY WHERE EXAMID = 'EFBC0657145840CF88184BDCE71430EE'
AND TYPEVALUE IN ('SURG_PROC', 'CV_PROC') AND CLNG(SLCTD_MENUENTRYID) < 0
The function is not recognized by SQL Server Compact Edition. [ Name of function = CLNG,Data type (if known) = ]
I have a Symbol MK1200 device (Intel XScale processor) running CE.NET 4.2 and when I try to reference any SQL objects I get the error:
Can't find PInvoke DLL 'sqlceme30.dll'
The documentation says that Compact Edition is supported on CE.NET 4.2, (ms-help://MS.SSCE.v31.EN/ssmmain3/html/ee220634-55c9-4123-85c4-4e6ceb07f942.htm) but I came across a hotfix (http://support.microsoft.com/kb/924811/) which contradicts this and says CE.NET 4.2 is not supported by default.
Can someone clarify this for me? I know that VS.NET 2005 doesn't support debugging of CF 2.0 apps to CE.NET 4.2 devices but I thought I could manully deploy a CF 2.0 SP1 application with SQL Compact Edition (although I'm still not sure whether I need the hotfix) ?
Either way I've been playing around and here is what I found ...
1. I installed CF 2.0 SP1 and verified a simple 'Hello World' application could deploy. All worked ok. 2. I downloaded & installed the SQL Compact Edition CABs on the device manually from 'SmartDevicesSDKSQL ServerMobilev3.0wce400armv4'. I opened Query Analyzer on the device and it worked i.e. I could open a database, run query, etc. 3. I modified my application with the following sample code:
Once again, just deploying (not debugging) the app. and got the error above 'Can't find PInvoke DLL 'sqlceme30.dll'
4. I installled the HotFix from http://support.microsoft.com/kb/924811/, now Query Anaylzer did not work even though it did work pre-hotfix install, and I'm still getting the same error when I test my code.
Can anyone shed any light on this? It's driving me up the wall ;o)
i've tried using the SELECT SQL sentence on PPC with UNION and INNER JOIN in combination with DATEDIFF function which works fine on ordinary SQL but obviously does not work on compact edition. Is there some workaround?
SQL sentence that works:
Code Snippet
SELECT * FROM ( SELECT 'O' Type, O.Name , OC.Name Contact, Birthday FROM OutletContact OC INNER JOIN Outlet O ON OC.OutletID=O.OutletID UNION SELECT 'W' Type, W.Name,WC.Name Contact, Birthday FROM WholesalerContact WC INNER JOIN Wholesaler W ON W.WholesalerID=WC.WholesalerID ) S WHERE Birthday IS NOT NULL AND (DATEDIFF(day,GETDATE(),Birthday) BETWEEN 0 AND 14)
I need some advise/help how to deploy a small sql server compact 3.5 database on networkshare where about 8 people have access to it(install de client ) and can modify the database with aprox 3000 records. I'm using visual basic 2008 and created a compact database and filled it with one table of an export of an access database done with data port console. And created a new windows forms application and saved the project. Publish is not the problem but how too set it up...... There is not much info to find on how to get a sql server 3.5 database running on a network share. Who can help ???
I am attempting to use the SQL Server 2008 Developer Edition (Management Studio) to create/manage a Compact Edition 3.5 database. My problem is that I cannot even create/open the compact database in Management Studio. Any help would be GREATLY appreciated. TIA
Problem Creating the Compact Database:
Open 2008 Management Studio
From menu choose File | Connect Object Explorer...
Choose SQL Server Compact Edition as the Server type.
Choose <New Database...> as the Database file.
Browse to folder where file will be created (C:MyDatabase#1.sdf was used in my example)
Leave all other field as default selections OR make changes, either way it does not work.
Click OK.
At this point the OK button just becomes disabled and nothing happens. Problem Opening An Existing Compact Database:
Open 2008 Management Studio
From menu choose File | Connect Object Explorer...
Choose SQL Server Compact Edition as the Server type.
Choose <Browse for more...> as the Database file and locate a ".sdf" file that I created using VS2008.
Enter password, if any.
Click OK.
The following exception is displayed: TITLE: Connect to Server ------------------------------ Cannot connect to C:Documents and SettingsdarrinbMy DocumentsVisual Studio 2008ProjectsTestSQLCompactEdition35TestSQLCompactEdition35AFS.sdf. ------------------------------
ADDITIONAL INFORMATION: Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------ Could not load file or assembly 'Microsoft.SqlServerCe.Enumerator, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) (mscorlib) ------------------------------ BUTTONS: OK ------------------------------
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.
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
No one answered in another group, please help.Using access 2000 /msdeI know how to compact the access project file (.adp), there's a menu choicefor that.How do I compact the tables and stored procedures on the server? ( The .MDFfile)I only have the DOS promp OSQL utility to work with.thanks
I'm trying to add an SQL Compact Edition database to my application running on a CE 6.0 platform that I am also developing. Unlike PB 5.0, I don't see sql CE listed as an option in the catalog and when I try to run my application I get a pInvoke sqlceme30.dll error. I have found a number of references to this same issue elsewhere but no real good solutions. Most seem to point to the cab files not being deployed. I am thinking that I should have the necessary support files deployed in the CE image and I have downloaded and installed every sql CE version/update that I can find but none of them seem to add support to PB 6.0.
I am trying to add the cab files manually but I would appreciate any suggestions if there is a better solution............ Thanks
Is SQL Server Compact Editon 3.1 supported on Windows CE 6.0?
When I install the cab file sqlce30.wce5.armv4i.CAB in CE 6.0 it says that it might not be compatible. If I continue anyway it seems to work fine, but only the first time the application starts and accesses the database. When restaring the application it fails to connect to the database until I have reinstalled the cab file.
I have an application where I need a desktop Application to manage the data and I have PDA application which talks to RFID and gathers the data. I am a bit confused if i can have only one database which can work both on PDA and Desktop. Can you please help me decide if i should use compact or express for this purpose. Also I might have to use both compact and Express but is there a way to have common database for both where they can be replication and easily synchronised.
Hi, I am wondering why a database that was 2Gb in size would come down to just 300Mb when I copy all the data from the origional database into a blank new one. I ran a database shrink on the origional database but that only reduced it from 2.1 Gb to 2Gb. I was shocked to see the size difference when I copied the data. As far as I can tell the copied database still contains all the records of the origional.
I remember that MSAccess had a Compact function that literally copied all the data from one databse into a new empty one - is there the equivalent for SQL?
Hi,I just deleted about 1 million records from a SQL Server 2000 database. Iaccess it using Access 2000.I have Compact and Repair available in the adp under Tools. Should I do thatfrom Access? Will it not mess anything up?Thanks!J~
Can SQL Server Compact Edition do RDA with SQL Express? or I need to have SQL Server 2005(standard) instead of SQL Express? I will use RDA to synchronize the Compact Edition database on the phone and SQL Server database on desktop.
I am trying to make a simple example like sql management studio but stuck in the get table names part :) in first step. are there any easy way to get just table names from sdf file ?
I have VS2008 (9.0.21022.8 RTM) and I cannot get SQL Compact 3.5 to work with it. Whenever I attempt to open a compact edition database, I get a message that "The operation cannot complete, click OK on the "Package Load Failure" dialog, reinstall SQL Server Compact 3.5 and then from the command line run devenv /resetskippkgs. I've tried that twice and no joy. I can connect and work just fine with SSMS 2005, but I cannot get it to work in VS2008.
Also when in VS2008 and I go to Server Explorer | Data Connections | Add Connection, I do not have Microsoft SQL Server Compact 3.5 in the list.
I've downloaded and installed SQL Compact Edition. When I go to Access to set up a project (or to use the upsizing wizard) the software doesn't see the Server on my computer. No doubt I'm missing some very simple step. Although the compact server is installed, there's no program file to run, so I don't see how to get into the server software in order to set up a database or project that I can link to from Access.
I've also downloaded and installed Microsoft.net. As with server, the files are in place but there's no program file to execute.
I am trying to make an asp.net application that will run from the SQL Compact database.
To deploy the application we changed from a full path Data Source="C:inetpubappasdf.sdf" to Data Source="|DataDirectory|asdf.sdf"
This returns: Illegal Character in Path
So I switched to having VS make the path for me Data Source=".App_Dataasdf.sdf" and got The path is not valid. Check the directory for the database. [ Path = .App_DataPDQ_Test_CE.sdf
Is there ANYWAY to use a relative path for the SQL Compact Connection string?
What I need is to make sure that in case if my Windows CE based device lost power supply my SQL Compact 3.5 database will not be corrupted and I can read data from it. Has anybody any experience in this area?
This is critical requirement for our project and I want to know it is feasible or not.
I have problems in migrating. Here are the questions: 1. Is the ShrinkDatabase task the SSIS equivalent of this script? If so, I'm having problems creating a new connection since it is an mdb file stored on local computer and not on a server. Is there a workaround on this? 2. If I have to use the script task, I use this codes:
Set Engine = CreateObject("DAO.DBEngine.35") Engine.CompactDatabase "C:.path...database_UnCompress.mdb", "C:path... estdatabase.mdb" or
Set Engine = CreateObject("JRO.JetEngine") Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=pathdatabase.mdb", _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=pathcompacted_database.mdb" Both produce the same error: Option Strict On disallows late binding. Any suggestions?
3. I also tried to use the Execute SQL Task, using dbcc shrinkdatabase. But I seem lost again in creating a connection. Should I consider "database_UnCompress.mdb" as flat file source?
We are replicating SQL Server Compact and SQL Server 2008. My understanding is that SQL Server 2008 can only replicate with Compact 3.5 SP1, not Compact 3.5.
I have not been able to locate a download fromMicrosoft for SQL Compact 3.5 SP1. The download that is available is for Compact 3.5 (without the SP1).
Does anyone know where I can get the SP1 download?
I am writing an application that is designed for the desktop, or small group (3 or less) desktops. The application is being deployed using the Cassini web server as a complete "embedded" solution. I wanted to use SQL Server Compact because of its small footprint and because of the synchronization capabilities with SQLServer. Also, it is very easy to deploy vs. SQL Server Express. The idea behind this APP is that someone might use it locally and then decide to subscribe to the service and then connect the same application to a web services application. That being said, and with knowledge of Microsoft's stance on SQL Compact under ASP.NET, I have most everything working and it works great except for one thing. When I add a SQLDataSource to the page and set the connection string to my file and the DataProvider to System.Data.SqlServerCe and then bind a data grid to the SQLDataSource, it runs fine on my development machine, but when I deploy to my clean test machine, I get an error when the page loads saying: Unable to find the requested .Net Framework Data Provider. It may not be installed. I can create a dataset in code (in fact,in several other places I do) and it works fine. It is just the SQLDataSource(s) that are throwing this error. I have a copy of System.Data.SqlServerCe.dll in the bin folder and I have all of the compact DLL's in the bin folder as well. I can't figure out what I need to do. I also have a reference to the System.Data.SqlServerCe in the web.config file. Can anyone help?
Hi, We have just installed visual studio 2008 for a windows mobile application development. This application requires a database also. VS 2008 installs sql server 2005 express edition and the sql server compact edition 3.5. We installed sql server management studio but this is for the express edition only. Please let us know how to use a similar tool for compact edition, we could not find any suitable for the same. Regards
you can, with a dataset do something like myDataSet.WriteXml(m_XmlFile, XmlWriteMode.IgnoreSchema) and get XML for a record.... is it possible to do something like that with SQLserverCeresultset? i know i could probably loop thru the columns and create the xml manually... but using somethinglike writexml will give better performance? right now im not using anything from the XML class... from my previous exp with using XML classes on the Compact framework gives slow performance...
I'm an Access man moving towards SQL Server and I'm interested in knowing if there is a utility for my SQL Server version 7 database that is similar to Access' Compact and Repair utility? I'd like a recommendation from a guru on what Prevenatative Maintenance measures I should be running daily/weekly/monthly etc...
I want to access to a SQL Compact database with an application develope with Visual Basic ans using ADO (not ADO .Net). Is it possible and how ? Thank You.
I am using SQL Server Compact Edition under ASP.NET. I am aware of the limitations and warnings from Microsoft for SSCE under ASP.NET, but this app is designed as a desktop deployed ASP.NET application running under the Cassini web browser. I wanted to use SQL Server Compact because of the RDA capabilities with SQL Server without the overhead of installing SQL Server Express. There would be 1-3 users at most running the application. SSCE seemed to make the most sense.
That being said, I have everything working fine except for this. I have added several SQLDataSource controls to several web forms and then I have GridViews bound to these controls. I like using the controls because of the built in sorting, grouping and updating I can do. When I run this on my development machine, it runs fine. When I move to one of my clean test machines and install the app, the SQLDataSouce controls throw the following error:
Unable to find the requested .Net Framework Data Provider. It may not be installed
I have the System.Data.SqlServerCe.dll in the bin folder along with all of the files from the the SQLServer Compact 3.1 install, a reference to it in the web.config file etc. In fact, I have several other database related datasets and tableadapters that are created throughout the application and they all work fine and can access and display data from my sdf file. It seems to only be with the SQLDataSource controls.
I'm trying to start an application in C# with visual Studio 2008 and I want to connect it to a SQL CE 3.5 Database (local .sdf file). I only found samples or How-to guides that use the wizard to add the datasource and the way dragging the dataset to the form. All things binded to the database where you don't have to do coding.
I don't want to have the binding navigator bar, I just want to use text box, date picker and buttons and Save that to the database myself. That way I think it will be more easy for me to validate or manipulate data before the insertion in the DB.
Some time ago a make an ASP.net that was doing same kind of thing with an Access DB... Hope this can help to show what i really want... (sorry for my bad english....)
Nick
Code Snippet Private Sub btnAskSql_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAskSql.Click lblMsg.Text = "" Dim MyDS As New DataSet
'txtRequest.Text is a SQL command like Select * from..... MyDS = SQLRequest(txtRequest.Text) Try DG01.DataSource = MyDS.Tables(0).DefaultView DG01.DataKeyField = "ID" DG01.DataBind() Catch ex As Exception lblMsg.Text = Err.Description Finally End Try End Sub
Function SQLRequest(ByVal TheRequest As String) As DataSet Dim _Con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=" & Server.MapPath("Gifts.mdb") & ";") Dim selectCMD As OleDbCommand = New OleDbCommand(TheRequest, _Con) selectCMD.CommandTimeout = 30 Dim custDA As OleDbDataAdapter = New OleDbDataAdapter custDA.SelectCommand = selectCMD
Dim TheDS1 As New DataSet Try custDA.Fill(TheDS1, "Request") Catch ex As Exception 'oups lblMsg.Text = Err.Description Finally _Con.Close() End Try Return TheDS1 End Function