Saturday, February 25, 2012

RDA Pull method not creating tables/inserting data

I can't see what is going on, this is the situation:

I call the Pull method, specify the table to be affected, the query to be used, the connection string to the remote SQL server, the tracking options (On) and the Error table. The pull method executes with no errors however, no table is ever created. I don't know why, here's what I have done so far:

I read the SQL BOOKS ONLINE help on preparing RDA, I set up the IIS virtual directory for anonymous access and on the connection string I send in the user name and password for the SQL server, I went into the SQL Server and grated access to the user name to the database that I am going to access and I made the user a db_owner.

So, according to SQL BOOKS ONLINE I have everything right however, it won't populate, so right now I am open to suggestions on how to get this to work, heres the code:
---------
string rdaOleDbConnectString = "Provider=SQLOLEDB;Data Source=<Server>;Initial Catalog=<DB>; User Id=<User>;Password=<Password>"; (it's not exactly like this, but in it has the proper values)
string connectionString = "Data Source=\"\\Program Files\\client\\db\\MobileDB.sdf\"";

SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess("http://10.1.1.206/mobile/sqlcesa30.dll",
connectionString);

IList _tableNames = new ArrayList();
IList _queries = new ArrayList();

############
Code that prepares tables and queries
############

for (int counter = 0; counter < _tableNames.Count; counter++)
{
rda.Pull(_tableNames[counter].ToString(), _queries[counter].ToString(), rdaOleDbConnectString, RdaTrackOption.TrackingOn, "MobileError");
}

the For loop runs with no problems but no data is ever put (or tables created) into the Mobile DB.

A few things here -

1. from pocket internet explorer on your device or emulator, do you get a correct diagnostic message when you use the url http://10.1.1.206/mobile/sqlcesa30.dll ? if not, then your first issue is you aren't successfully getting from device to the server.

2. your connection string is screwed up. try this instead: connectionString = @."Data Source = \Program Files\client\db\MobileDB.sdf"

3. you do realize that the database must exist already before the pull? and that none of those tables can exist when you call pull? (you need to drop all the tables you want to pull from the server before you call rda.Pull()

4. the values you are using for <user> and <password> must represent a valid SQL Server login as well as have permissions on the specific database you are pulling from <DB>

5. what are you using for primary keys on the tables you are pulling? IDENTITY columns are going to get you into trouble with multiple users pulling with tracking turned on. better to switch to uniqueidentifiers (GUIDs).

Try that much and let me know.

Darren

|||

To answer your questions:

1. I get "SQL Server Mobile Server Agent 3.0" when I try to browse to the URL

2. I will try it without the quotes.

3. Yes, I know the tables must not exists prior to PULL

4. I had made the SQL user a db_owner

5. GUIDS

|||

It did not work, I changed the connection string from:

"Data Source=\"\\Program Files\\client\\db\\MobileDB.sdf\"";

to

"Data Source=\\Program Files\\client\\db\\MobileDB.sdf";

and it still didn't work

|||

if I understand correctly, you are not getting an exception, you're just not getting the tables created in the SQL mobile database after the pull? Are you just using a SELECT * FROM statement to pull each table? Maybe try reducing this to pulling a single table in case there is some issue with your logic to iterate through a collection of tables pulling each one. Also - not knowing the schema of the server side db, are there any constraints on those tables?

-Darren

|||

I just remembered something that I bet is your issue - when you install SQL Server, you have to specify an authentication mode for the server. By default, it is Windows Authentication. In your RDA connection string, you are using SQL Server authentication. As a result, you need to make sure your instance of SQL Server is set to "Mixed Mode (Windows Authentication and SQL Server Authentication).

Hope that helps.

Darren

|||Thanx, I'll try that|||we decided to give merge replication a shot, we may comeback to trying RDA later.

RDA Pull from Windows Server 2003 gives Native Error 28035

I currently have a Vs.Net 2003 Pocket PC application that uses sql server ce 2.0 to push and pull data from Sql Server 2000 to the Pocket PC. The sscesa20.dll isapi agent is installed on a Windows 2000 server and points to another server that hosts the SQL database. In this configuration everything works like a charm. I am in the process of upgrading my application server to Windows 2003 Server but the RDA PULL process does not work, giving an Native Error of 28035 EVERY time. I use the exact same code in the app but when I point to the isapi agent on the 2003 box it does not work. When I connect to the the sscesa20.dll via the Pocket IE it returns the "Sql Server CE Server Agent" message. When I do an RDA.Submit it works and the SQL table is updated as expected.


I have configured IIS 6 with the proper web extensions
I have turned off the firewall and antivirus on the server.
I have reinstalled the server agent several times.
I set up the sscesa20.dll manually.
I removed all file level security.
I opened up the virtual directory.
I verified the ddl versions match.

I'm dead in the water right now. I'm not sure what else to try.

Any help would be greatly appreciated.

Error 28035 indicated that the header information that the server tools are using to broker the RDA is missing or corrupted. The typical cause of this is that you have a security product somewhere in the path from your mobile device to the publisher (SQL Server) that is stripping off the content lengths on the replication HTTP dialogue. You need to completely disable any internet security products like Symantec or McAffee on both your IIS and your SQL Servers.

Darren

|||

Darren,

Thanks for the info. I'm sure it's not the SQL Server because I don't get any errors when I RDA pull using the Windows 2000 Server implimentation of the ISAPI agent. I've turned off all the firewalls but my provider is a little hesitant to turn off the anti-virus products. I'm perplexed because everything works fine with my Windows 2000 Server. Everything points to this being a Windows Server 2003 specific problem. I'm going to work with the ASP to get the anti virus out of the equation too.

|||

Hi Tstay,

Did you resolve the problem?

What is the behavior when you turned of Anti virus?

This error also occurs in case of SQL Mobile 3.0 Client Agent is trying to contact SQL CE 2.0 Server Agent (OR) SQL CE 2.0 Client Agent is trying to contact SQL Mobile 3.0 Server Agent. Make sure that you are using same version of SQL Mobile/CE both on device and as well as on IIS.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Everywhere, Microsoft Corporation

|||

We turned off the anti-virus and the firewall and I'm still getting the error. The Sql CE version on the device and the server match. We have come to the conclusion that it's a 2003 or IIS 6 issue, so we have no choice to roll back the OS to 2000 until we have more to go on with 2003. Any advice would be appreciated.

thanks

RDA Pull Fail

I try to pull data from SQL 2005 Express Edition to SQL Mobile 5.0, with Visual Basic 2005.
It keep prompt me the error Native Error:

System.Data.SqlServerCe.SqlCeException was unhandled
HResult=-2147024809
Message="An error has occurred on the computer running IIS. Try restarting the IIS server."
NativeError=28022
Source="Microsoft SQL Server 2005 Mobile Edition"
StackTrace:
at System.Data.SqlServerCe.NativeMethods.CheckHRESULT()
at System.Data.SqlServerCe.SqlCeRemoteDataAccess.Pull()
at PDA2007.PULLPUSH.btn_pull_Click()
at System.Windows.Forms.Control.OnClick()
at System.Windows.Forms.Button.OnClick()
at System.Windows.Forms.ButtonBase.WnProc()
at System.Windows.Forms.Control._InternalWnProc()
at Microsoft.AGL.Forms.EVL.EnterMainLoop()
at System.Windows.Forms.Application.Run()
at PDA2007.PULLPUSH.Main()

Below is my coding :

Private Sub btn_pull_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btn_pull.Click


Const gRemoteProvider = "Provider=SQLOLEDB.1;Persist Security

Info=False; " & _


"User ID=dmspda;Password=dmspda;Initial

Catalog=dmspda;Data Source=INSPIRON6000"


Const gInternetURL = "HTTP://192.168.1.3/Sync/SSCESA30.DLL"


Const gInternetLogin = "INSPIRON6000\IUSR_INSPIRON6000"


Const gInternetPwd = ""


Dim rda As SqlCeRemoteDataAccess



rda = New SqlCeRemoteDataAccess


rda.LocalConnectionString = "Data Source=\My Documents\pda.sdf"


rda.InternetUrl = gInternetURL


rda.InternetLogin = gInternetLogin


rda.InternetPassword = gInternetPwd



rda.Pull("pda_uom", "Select * from pda_uom", gRemoteProvider,

RdaTrackOption.TrackingOn)



End Sub


I have been refer to a lot of website and read articles, help forum, have try to disable Firewall, allow HTTP and HTTPS, uninstall anti-virus system. I have no idea, what is this problem and how to solve it ? If you face same problem before, hope can give some comment here, appreciate it!

Developed Machine:
* XP Pro S2
* SQL Server 2005 Express Edition
* Visual Studio 2005

Device :
* SQL Mobile 2005
* Window Mobile 5.0



Hullo xiaoytan

I have facing the same error as u faced, could u solved this pbm, then please let me know , how to do it ?

Thank u.

RDA pull exception

Dear All,

I created a sample test application to implement RDA, after I made all required configuration, I got the following exception after call rda.pull() :

{
Error # 1 of 1
Error Code: -2147024809
Message : An error has occurred on the computer running IIS. Try restarting the IIS server.
Minor sqlError.: 28022
Source : Microsoft SQL Server 2005 Mobile Edition}

Note: rda.submitQuery is executed successfully ..

any ideas

Thanks and regards

Hullo Ataha,

Now i facing the same pbm faced u, could u solve this error, then pls let me know, how to do it ?

RDA pull exception

Dear All,

I created a sample test application to implement RDA, after I made all required configuration, I got the following exception after call rda.pull() :

{
Error # 1 of 1
Error Code: -2147024809
Message : An error has occurred on the computer running IIS. Try restarting the IIS server.
Minor sqlError.: 28022
Source : Microsoft SQL Server 2005 Mobile Edition}

Note: rda.submitQuery is executed successfully ..

any ideas

Thanks and regards

Hullo Ataha,

Now i facing the same pbm faced u, could u solve this error, then pls let me know, how to do it ?

RDA Pull error using Microsoft SQL Server Compact Edition 2005

Hello dear all.

I am using a Compact Framework 2.0 on a mobile 5.0 with a local Microsoft SQL Compact Edition 2005 database. The backend database is a Microsoft SQL Server 2005 and I am trying to pull a 45000 rows table (the table has 2 varchars(8) forming a primary key and an INTEGER column).

The statement I issue is the following:

rda.Pull(table.TableName, table.TableQuery, Program.RdaOleDbConnectionString, RdaTrackOption.TrackingOnWithIndexes, table.TableName + "Errors");

The application works perfectly when I am pulling smaller tables (up to 15000 rows) but when I try to pull this one I get the following error details:

sqlCeEx
{""}
base {System.SystemException}: {""}
Errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
HResult: -2147024882
Message: ""
NativeError: 0
Source: "Microsoft SQL Server Compact Edition"

Please have in mind that the handheld on which I deploy does not have an extra storage card.

I have done a thorough internet search and I have found no solution to this problem. I truly rely on you to find the solution.

Thanks in advance,

Steliosvcy.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlce/html/sqlce_troubleconnect.asp

Sounds like a timeout error to me.

HRESULT = -2147012894 = FFFFFFFF80072EE2

Take the 2EE2, Convert back to decimal (12002).
Lookup the error in wininet.h (C:\program files\windows ce something\something\include

//
// Internet API error returns
//

#define INTERNET_ERROR_BASE 12000
#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE + 2)

How to fix it? Gawd knows. Change the timeout? Let me know how to do that if you find out!! (That's what I'm trying to do at the moment)

Regards,

James.
|||

You can set the oledb timeout (from IIS to SQL) with: Connect Timeout=180 in the connection string (3 minutes in this case).

Code Snippet

Provider=SQLOLEDB; Data Source=mySQLServer; Initial Catalog=NorthWind; user id=sa; password=; Connect Timeout=180;

You may have to adjust to fit your environment.

|||

SqlCeReplication and SqlCeRemoteDataAccess. Both of these have SendTimeout, ReceiveTimeout for IIS connectivity and SQL Server connectivity can be controlled by OLEDB connection string or QueryTimeout on REPL/RDA Object.

Thanks,

Laxmi

RDA Pull error using Microsoft SQL Server Compact Edition 2005

Hello dear all.

I am using a Compact Framework 2.0 on a mobile 5.0 with a local Microsoft SQL Compact Edition 2005 database. The backend database is a Microsoft SQL Server 2005 and I am trying to pull a 45000 rows table (the table has 2 varchars(8) forming a primary key and an INTEGER column).

The statement I issue is the following:

rda.Pull(table.TableName, table.TableQuery, Program.RdaOleDbConnectionString, RdaTrackOption.TrackingOnWithIndexes, table.TableName + "Errors");

The application works perfectly when I am pulling smaller tables (up to 15000 rows) but when I try to pull this one I get the following error details:

sqlCeEx
{""}
base {System.SystemException}: {""}
Errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
HResult: -2147024882
Message: ""
NativeError: 0
Source: "Microsoft SQL Server Compact Edition"

Please have in mind that the handheld on which I deploy does not have an extra storage card.

I have done a thorough internet search and I have found no solution to this problem. I truly rely on you to find the solution.

Thanks in advance,

Steliosvcy.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlce/html/sqlce_troubleconnect.asp

Sounds like a timeout error to me.

HRESULT = -2147012894 = FFFFFFFF80072EE2

Take the 2EE2, Convert back to decimal (12002).
Lookup the error in wininet.h (C:\program files\windows ce something\something\include

//
// Internet API error returns
//

#define INTERNET_ERROR_BASE 12000
#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE + 2)

How to fix it? Gawd knows. Change the timeout? Let me know how to do that if you find out!! (That's what I'm trying to do at the moment)

Regards,

James.
|||

You can set the oledb timeout (from IIS to SQL) with: Connect Timeout=180 in the connection string (3 minutes in this case).

Code Snippet

Provider=SQLOLEDB; Data Source=mySQLServer; Initial Catalog=NorthWind; user id=sa; password=; Connect Timeout=180;

You may have to adjust to fit your environment.

|||

SqlCeReplication and SqlCeRemoteDataAccess. Both of these have SendTimeout, ReceiveTimeout for IIS connectivity and SQL Server connectivity can be controlled by OLEDB connection string or QueryTimeout on REPL/RDA Object.

Thanks,

Laxmi

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises

from Microsoft, we finally took the hard core approach and delete the

entire database, so as to ensure the deletion of the subscriptions

info.

As usual, MS releases beta, well more like alpha, products to the

marketplace and relies on its market domination to keep even the most

disgruntled of customers in their camp. However, we have deployed

this as only a temporary solution. In three months, we will be

rearchitecting with a Java solution, with a prototype already working

more reliably than the MS ***. This was only one of many

disappointments for us from MS, and so now we are turning the corner

and going with a more reliable framework, and just better solutions in

general. Too bad MS feels that don't really have to deliver

anything of quality anymore. No wonder their stock is a dinosaur

stuck in the toilet.

Good luck to you...|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises

from Microsoft, we finally took the hard core approach and delete the

entire database, so as to ensure the deletion of the subscriptions

info.

As usual, MS releases beta, well more like alpha, products to the

marketplace and relies on its market domination to keep even the most

disgruntled of customers in their camp. However, we have deployed

this as only a temporary solution. In three months, we will be

rearchitecting with a Java solution, with a prototype already working

more reliably than the MS ***. This was only one of many

disappointments for us from MS, and so now we are turning the corner

and going with a more reliable framework, and just better solutions in

general. Too bad MS feels that don't really have to deliver

anything of quality anymore. No wonder their stock is a dinosaur

stuck in the toilet.

Good luck to you...|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises from Microsoft, we finally took the hard core approach and delete the entire database, so as to ensure the deletion of the subscriptions info.
As usual, MS releases beta, well more like alpha, products to the marketplace and relies on its market domination to keep even the most disgruntled of customers in their camp. However, we have deployed this as only a temporary solution. In three months, we will be rearchitecting with a Java solution, with a prototype already working more reliably than the MS ***. This was only one of many disappointments for us from MS, and so now we are turning the corner and going with a more reliable framework, and just better solutions in general. Too bad MS feels that don't really have to deliver anything of quality anymore. No wonder their stock is a dinosaur stuck in the toilet.
Good luck to you...
|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises from Microsoft, we finally took the hard core approach and delete the entire database, so as to ensure the deletion of the subscriptions info.
As usual, MS releases beta, well more like alpha, products to the marketplace and relies on its market domination to keep even the most disgruntled of customers in their camp. However, we have deployed this as only a temporary solution. In three months, we will be rearchitecting with a Java solution, with a prototype already working more reliably than the MS ***. This was only one of many disappointments for us from MS, and so now we are turning the corner and going with a more reliable framework, and just better solutions in general. Too bad MS feels that don't really have to deliver anything of quality anymore. No wonder their stock is a dinosaur stuck in the toilet.
Good luck to you...
|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises

from Microsoft, we finally took the hard core approach and delete the

entire database, so as to ensure the deletion of the subscriptions

info.

As usual, MS releases beta, well more like alpha, products to the

marketplace and relies on its market domination to keep even the most

disgruntled of customers in their camp. However, we have deployed

this as only a temporary solution. In three months, we will be

rearchitecting with a Java solution, with a prototype already working

more reliably than the MS ***. This was only one of many

disappointments for us from MS, and so now we are turning the corner

and going with a more reliable framework, and just better solutions in

general. Too bad MS feels that don't really have to deliver

anything of quality anymore. No wonder their stock is a dinosaur

stuck in the toilet.

Good luck to you...|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises from Microsoft, we finally took the hard core approach and delete the entire database, so as to ensure the deletion of the subscriptions info.
As usual, MS releases beta, well more like alpha, products to the marketplace and relies on its market domination to keep even the most disgruntled of customers in their camp. However, we have deployed this as only a temporary solution. In three months, we will be rearchitecting with a Java solution, with a prototype already working more reliably than the MS ***. This was only one of many disappointments for us from MS, and so now we are turning the corner and going with a more reliable framework, and just better solutions in general. Too bad MS feels that don't really have to deliver anything of quality anymore. No wonder their stock is a dinosaur stuck in the toilet.
Good luck to you...
|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA pull error on SSL VPN Client connection

I have a VB 2005 synchronization application that successfully pulls (through RDA) data to a SQL 2005 Mobile DB at my place of business, but when I try it at home on my SSL VPN Client connection, I get Hresult -2147012889 ("A request to send data to the computer running IIS has failed."). Typically, a -2147012889 error is a connection issue that relates to resolving the server name.

Here's a snippet:

Dim RemoteConn As String = "Provider=sqloledb; Data Source={company server};" _

& "Initial Catalog={companyDB}; User ID={username}; password={pass}"

'& "Persist Security Info=False;Integrated Security=False"

Dim SourceURL As String = "http://{Company server name}/MobileConnection/sqlcesa30.dll"

Dim SqlRA As New System.Data.SqlServerCe.SqlCeRemoteDataAccess

SqlRA.LocalConnectionString = strConn

SqlRA.InternetUrl = SourceURL

SqlRA.InternetLogin = ""

SqlRA.InternetPassword = ""

SqlRA.CompressionLevel = 3

Try

(Perform Pulls...etc..)

When I pull the sourceURL string and plug it into IE, it works fine. I get the "SQL Server Mobile Server Agent 3.0" message indicating that I have a solid connection over to IIS. That works fine.

But I can't figure out anything in the program. I've rotated the IP address with the name resolution and neither works for me in the program. The difference though when I use the IP address for the server is that I get a slightly different Hresult of -2147012867 (which means you can't connect to the server).

Also, I have IIS configured for anonymous access, the SQL DB I'm trying to pull from isn't restricting access, and my company doesn't have a proxy I need to go through.

Does anyone have any ideas for this issue?

Hi,

Did you find the answer? I have situation almost same as you and I am getting an error too. Do you know any tutorial for RDA using SSL?

Thanks in advance.

Dharam

RDA pull error on SSL VPN Client connection

I have a VB 2005 synchronization application that successfully pulls (through RDA) data to a SQL 2005 Mobile DB at my place of business, but when I try it at home on my SSL VPN Client connection, I get Hresult -2147012889 ("A request to send data to the computer running IIS has failed."). Typically, a -2147012889 error is a connection issue that relates to resolving the server name.

Here's a snippet:

Dim RemoteConn As String = "Provider=sqloledb; Data Source={company server};" _

& "Initial Catalog={companyDB}; User ID={username}; password={pass}"

'& "Persist Security Info=False;Integrated Security=False"

Dim SourceURL As String = "http://{Company server name}/MobileConnection/sqlcesa30.dll"

Dim SqlRA As New System.Data.SqlServerCe.SqlCeRemoteDataAccess

SqlRA.LocalConnectionString = strConn

SqlRA.InternetUrl = SourceURL

SqlRA.InternetLogin = ""

SqlRA.InternetPassword = ""

SqlRA.CompressionLevel = 3

Try

(Perform Pulls...etc..)

When I pull the sourceURL string and plug it into IE, it works fine. I get the "SQL Server Mobile Server Agent 3.0" message indicating that I have a solid connection over to IIS. That works fine.

But I can't figure out anything in the program. I've rotated the IP address with the name resolution and neither works for me in the program. The difference though when I use the IP address for the server is that I get a slightly different Hresult of -2147012867 (which means you can't connect to the server).

Also, I have IIS configured for anonymous access, the SQL DB I'm trying to pull from isn't restricting access, and my company doesn't have a proxy I need to go through.

Does anyone have any ideas for this issue?

Hi,

Did you find the answer? I have situation almost same as you and I am getting an error too. Do you know any tutorial for RDA using SSL?

Thanks in advance.

Dharam

RDA pull error

When I try to do a pull I'm getting the following error message:

'Failure setting up a non parameterized query, possible incorrect SQL query.'

Now when I run this query in QA it works and returns me data. I'm also doing a pull on another table that works.

so I have this that works for one pull:

rda.Pull("Customers", 'select customerId, firstname, lastname, state, city from Customers", rdaConn, RdaTrackOption.TrackingOff);

and then I have this one that fails and gives me the above mentioned error:

rda.Pull("Sales", "select salesID, buyer, SaleDate from Sales', rdaConn, RdaTrackOption.TrackingOff);

and it fails.

another issue I'm having is, I can't run any rda.Pull() with RdaTrackOption.TrackingOn, any ideas on why I can't do that?

any help is greatly apprecated as for I've been going nuts on trying to figure this stuff out for the pass 2 weeks.

Anything to do with quotes? Your select starts with a double and ends in a single quote.|||

No, that was a typo when typing it in here. I should've just did a copy & paste in here.

RDA pull - from a temporary table

Hi

I am doing a RDA Pull with tracking off, getting the data via a stored procedure.

Ideally I want the proc to return the data from a temporary table, so I can do some fancy formatting of the data before we pull it down to the PDA. It's not updateable, so with tracking off, I would have thought this would be possible - but sadly it doesn't work. No error messages, but the table doesn't get created.

I'm using SQL 2005 June CTP if that helps.

Any ideas ?

thanks
Bruce

Here are the details we want:
1) Where is this Store Proc executed and how?

Note: SQL Mobile does not support stored procs in its Database. However you can use RDA.SubmitSql to execute a stored proc, available in SQL Server DB, on SQL Server remotely from SQL Mobile device.

2) SQL Statement in "RDA.Pull" command can only be some thing like
"SELECT col1, col2, col3 from testTable where col4 = 'TEST'".

It CANNOT be some thing like
"Execute sp_createformattedtemptable testTable".

If you want to acheive the functionality you are mentionig, you can do this way:
Before you do RDA Pull, do a RDA Submit SQL and execute store proc. This store proc should create a table with the expected data in expected format. Then use RDA Pull to pull the table down to SQL Mobile device. And, then do RDA Submit SQL to delete the just created temp table.

Hope this helps!

Thanks,
Laxmi NRO, MSFT, SQL Mobile

RDA problem with SQL Server 2005

My company just converted to SQL Server 2005. I have a pocket PC application, developed with Visual Studio 2003, that is now giving me an RDA problem.

Two tables push fine but the third gives me the error:

"ERR: Push for Table Events: System.Data.SqlServerCe.SqlCeError: The OLE DB data type information in the SQL Server CE columns does not match the information in the SQL Server columns for the RDA table. [Client type, Server type,,Table name,,]"

This is despite dropping all the tables and doing an RDA pull from the database. I don't see anything different on this third table than the other two.

Any suggestions would be appreicaed.

Correct error handling should tell you which data type are in conflict from the error parameters collection, see http://msdn2.microsoft.com/en-us/library/ms174079.aspx|||

My error parameters are as follows:

Error Paramaters

(0)=""

(1)=""

(2)=""

NumericError Parameters

(0) = 0

(1) = 0

(2) = 0

Can anyone help me understand if this is of help!

|||This is obviously not very helpful at all! Could you try to make a "Create table" script of the problematic table, so we can see how it is defined.|||

I'm not sure what you mean by this script, but here is my table definition out of Sql Server 2005:

Event Number(PK, varchar(13), not null)

TransfectionNumber (FK, varchar(13), not null)

type (nvarchar(1), not null)

HHDeleteDate(smalldatetime, null)

Note(nvarchar(255), null)

Keys

PK_Events

FK_Events_Transfections

I pull this table, and all the others, using RDA so the definition should be coming over fine.

I use similar column definitions on other tables without problems

Thanks,

Ron

|||

With some further testing, it's possible my problem is occuring because of the name "type" in the table. Is there a way to change the name in the SQL CE database easily. Otherwise, I'll need to reenter data captured over the last week.

Ron

|||

That sounds like it, Ron. '

SQL CE's SQL syntax does not allow you to rename a column.
You must save the column data, drop the column, add the new column, and restore the old data in the new column.

Some of the tools from www.primeworks-mobile.com will also be able to help you.

RDA problem

Im having problems with my Pocket PC application deployed in Pocket Pc 2003 se Emulator... Im using the Pull method of RDA. I get the error "A request to send data to the computer running IIS has failed.". I have setup my desktop IIS and I can access the dll agent through Internet explorer. But when I try to access it on the Internet Explorer of the Emulator using the ip of my desktop instead of localhost, I get the error "Unable to connect: You have no modem entries created, and no network card present".
I check the Emulator Connection Settings, and it is set to "My Work Network". I tried using ActiveSync 4.2 then using Device Emulator Manager to put the emulator in Cradle. But still I cant access the remote Internet URL (http://ipaddress/vdirectory/sqlcesa30.dll) on the emulator ...

I guess its the reason I cant use the Pull method... Can anyone help me with this? Its almost 2 days and yet I can't solve this.. Im just starting with C# and pocket PC.. Thanks..

Have you tried to "cradle" your emulator ? (from the Device Emulator Manager, right click and select Cradle). That will enable a network connection to your desktop PC.

|||Yes, I have done that. Fixed this one already, I just configured Activesync to accept DMA... Before it was not enabled so whenever I cradle the emulator, nothing happens, ActiveSync wont detect it...

Thanks

RDA problem

I am attempting to execute an RDA.pull from my master database and it is generating exceptions the second time I attempt the pull.

NOTE: I always drop the table prior to executing the pull.

It seems that after the first time I execute a pull against a particular table name on the PDA I get the following:

"A duplicate value cannot be inserted into a unique index. [ Table name = __sysRDASubscriptions,Constraint name = c_LocalTableName ]"

Given that the table doesn't exist when I do the pull (I have already dropped it, and verified it's non-existence via the Query Analyzer), why does this error appear? It's almost as though some artifact of the table still exists in the background somewhere and it doesn't like responding to a pull...

Anyone see this before?

This only seems to manifest when I choose one of the trackingOn options--when tracking is off, this doesn't happen.|||

If you call CompactDatabase after dropping the table, does that resolve the error ? This is just a troubleshooting step to try.

Thank you!

Syed N. Yousuf

Microsoft Developer Support Professional

This posting is provided “AS IS” with no warranties, and confers no rights.

|||

Hmm..Drop all these

1) The table you have pulled

2) The error table (if any you chose)

3) The PK Indexes of the pulled table (if you pulled with IndexesOn)

4) The Constraints for that table

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Good idea Syed, but no luck. It didn't seem to make any difference if I compacted the database and then pulled into the new db created.

-Kevin

|||

Thanks for your suggestions Laxmi

I'm having trouble with this. How can I drop the constraints and PK Indexes if I don't know what they're called? It would seem that SQL Server Mobile has assigned generated names to these, and I can't figure out how to drop them.

Is this even possible?

-Kevin

|||

To know the indexes and their information such as on what table and what columns they are created use this query:

SELECT * FROM INFORMATION_SCHEMA.INDEXES;

Similarly for constraints,

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS;

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

Hope this helps!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi Laxmi

Thanks for the info. This allows me to see the constraints and indexes, but Sql Mobile doesn't seem to keen on giving them up. When I try to delete my PK constraint (using ALTER TABLE xxx DROP CONSTRAINT) I get a message saying "DDL Operations on this table are restricted".

One thing I found that works is to simply delete the database file and recreate it prior to calling rda.pull. This would seem to be the simplest--are there any problems you see in this approach?

-Kevin

|||

No problem, only if there is no other table in that database. Please make sure that you transfer the data from old database to new database in this approach.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

RDA or Merge Replication?

Hi,
Please help me with the following scenario:
I want to implement an application using eMbedded Visual C++ 3.0 (and then
4.0) to capture data locally on my Windows CE device by SQL (so, I would
like to have an .sdf file on my device where I write data.) This data would
be written continuously for a certain amount of time or if there is a
connection detected to a server somewhere (with a central database) I would
like to send the data that is stored locally to that server. (wireless by
WiFi) So, I know I need Microsoft SQL Server 2000 Windows CE edition. First
of all, I realized I have to use OLE DB because ADO is not supported for CE
4.0+.. but that's ok. So, for my scenario, should I use RDA or Merge
Replication? Again, all I want is the application running on the device to
write data in the .sdf file and then upload it to a server (I don't need any
data from the server sent to the device.) It's only one-way... from the
device to
the server. The data is very simple... just a time stamp with some
statistics .. so a certain table in the server would just grow continuously
adding new rows with new data received from the device... It is possible
that I will have multiple devices that will connect to this server and write
their data as well. So, should I use RDA or Merge Replication? Note that
I would like to also be able to write the data straight to the server (this
would be
an option: e.g., the user could choose and say if the server is online, the
data
is updated straight in the server rather than first update the .sdf file and
then
update the server. but if this is not possible, please let me know.)
From what I read, in RDA you have to do a Pull to get a table, you modify it
and then
Push it back. Can I just do successive pushes (because that's all I'm really
interested in
unless I modify already existing data which is not needed in my case) or do
I have to go
through Pull then Push all the time? So, again.. should I use Merge
Replication or RDA?
Thank you in advance for all your help!
Hi, here's my 2c:
Maybe instead of using Push/Pull you may use SubmitSql that doesn't need a
Previous Pull. (It seems to me that your needs are too simple to set-up a
merge replication). HTH.
"vvf" <novvfspam@.hotmail.com> ha scritto nel messaggio
news:euFumhmZFHA.2768@.tk2msftngp13.phx.gbl...
> Hi,
> Please help me with the following scenario:
> I want to implement an application using eMbedded Visual C++ 3.0 (and then
> 4.0) to capture data locally on my Windows CE device by SQL (so, I would
> like to have an .sdf file on my device where I write data.) This data
> would
> be written continuously for a certain amount of time or if there is a
> connection detected to a server somewhere (with a central database) I
> would
> like to send the data that is stored locally to that server. (wireless by
> WiFi) So, I know I need Microsoft SQL Server 2000 Windows CE edition.
> First
> of all, I realized I have to use OLE DB because ADO is not supported for
> CE
> 4.0+.. but that's ok. So, for my scenario, should I use RDA or Merge
> Replication? Again, all I want is the application running on the device to
> write data in the .sdf file and then upload it to a server (I don't need
> any
> data from the server sent to the device.) It's only one-way... from the
> device to
> the server. The data is very simple... just a time stamp with some
> statistics .. so a certain table in the server would just grow
> continuously
> adding new rows with new data received from the device... It is possible
> that I will have multiple devices that will connect to this server and
> write
> their data as well. So, should I use RDA or Merge Replication? Note that
> I would like to also be able to write the data straight to the server
> (this
> would be
> an option: e.g., the user could choose and say if the server is online,
> the
> data
> is updated straight in the server rather than first update the .sdf file
> and
> then
> update the server. but if this is not possible, please let me know.)
> From what I read, in RDA you have to do a Pull to get a table, you modify
> it
> and then
> Push it back. Can I just do successive pushes (because that's all I'm
> really
> interested in
> unless I modify already existing data which is not needed in my case) or
> do
> I have to go
> through Pull then Push all the time? So, again.. should I use Merge
> Replication or RDA?
> Thank you in advance for all your help!
>
>

RDA or Merge Replication?

Hi,
Please help me with the following scenario:
I want to implement an application using eMbedded Visual C++ 3.0 (and then
4.0) to capture data locally on my Windows CE device by SQL (so, I would
like to have an .sdf file on my device where I write data.) This data would
be written continuously for a certain amount of time or if there is a
connection detected to a server somewhere (with a central database) I would
like to send the data that is stored locally to that server. (wireless by
WiFi) So, I know I need Microsoft SQL Server 2000 Windows CE edition. First
of all, I realized I have to use OLE DB because ADO is not supported for CE
4.0+.. but that's ok. So, for my scenario, should I use RDA or Merge
Replication? Again, all I want is the application running on the device to
write data in the .sdf file and then upload it to a server (I don't need any
data from the server sent to the device.) It's only one-way... from the
device to
the server. The data is very simple... just a time stamp with some
statistics .. so a certain table in the server would just grow continuously
adding new rows with new data received from the device... It is possible
that I will have multiple devices that will connect to this server and write
their data as well. So, should I use RDA or Merge Replication? Note that
I would like to also be able to write the data straight to the server (this
would be
an option: e.g., the user could choose and say if the server is online, the
data
is updated straight in the server rather than first update the .sdf file and
then
update the server. but if this is not possible, please let me know.)
From what I read, in RDA you have to do a Pull to get a table, you modify it
and then
Push it back. Can I just do successive pushes (because that's all I'm really
interested in
unless I modify already existing data which is not needed in my case) or do
I have to go
through Pull then Push all the time? So, again.. should I use Merge
Replication or RDA?
Thank you in advance for all your help!
Hi, here's my 2c:
Maybe instead of using Push/Pull you may use SubmitSql that doesn't need a
Previous Pull. (It seems to me that your needs are too simple to set-up a
merge replication). HTH.
"vvf" <novvfspam@.hotmail.com> ha scritto nel messaggio
news:euFumhmZFHA.2768@.tk2msftngp13.phx.gbl...
> Hi,
> Please help me with the following scenario:
> I want to implement an application using eMbedded Visual C++ 3.0 (and then
> 4.0) to capture data locally on my Windows CE device by SQL (so, I would
> like to have an .sdf file on my device where I write data.) This data
> would
> be written continuously for a certain amount of time or if there is a
> connection detected to a server somewhere (with a central database) I
> would
> like to send the data that is stored locally to that server. (wireless by
> WiFi) So, I know I need Microsoft SQL Server 2000 Windows CE edition.
> First
> of all, I realized I have to use OLE DB because ADO is not supported for
> CE
> 4.0+.. but that's ok. So, for my scenario, should I use RDA or Merge
> Replication? Again, all I want is the application running on the device to
> write data in the .sdf file and then upload it to a server (I don't need
> any
> data from the server sent to the device.) It's only one-way... from the
> device to
> the server. The data is very simple... just a time stamp with some
> statistics .. so a certain table in the server would just grow
> continuously
> adding new rows with new data received from the device... It is possible
> that I will have multiple devices that will connect to this server and
> write
> their data as well. So, should I use RDA or Merge Replication? Note that
> I would like to also be able to write the data straight to the server
> (this
> would be
> an option: e.g., the user could choose and say if the server is online,
> the
> data
> is updated straight in the server rather than first update the .sdf file
> and
> then
> update the server. but if this is not possible, please let me know.)
> From what I read, in RDA you have to do a Pull to get a table, you modify
> it
> and then
> Push it back. Can I just do successive pushes (because that's all I'm
> really
> interested in
> unless I modify already existing data which is not needed in my case) or
> do
> I have to go
> through Pull then Push all the time? So, again.. should I use Merge
> Replication or RDA?
> Thank you in advance for all your help!
>
>

RDA or Merge Replication?

Hi,
Please help me with the following scenario:
I want to implement an application using eMbedded Visual C++ 3.0 (and then
4.0) to capture data locally on my Windows CE device by SQL (so, I would
like to have an .sdf file on my device where I write data.) This data would
be written continuously for a certain amount of time or if there is a
connection detected to a server somewhere (with a central database) I would
like to send the data that is stored locally to that server. (wireless by
WiFi) So, I know I need Microsoft SQL Server 2000 Windows CE edition. First
of all, I realized I have to use OLE DB because ADO is not supported for CE
4.0+.. but that's ok. So, for my scenario, should I use RDA or Merge
Replication? Again, all I want is the application running on the device to
write data in the .sdf file and then upload it to a server (I don't need any
data from the server sent to the device.) It's only one-way... from the
device to
the server. The data is very simple... just a time stamp with some
statistics .. so a certain table in the server would just grow continuously
adding new rows with new data received from the device... It is possible
that I will have multiple devices that will connect to this server and write
their data as well. So, should I use RDA or Merge Replication? Note that
I would like to also be able to write the data straight to the server (this
would be
an option: e.g., the user could choose and say if the server is online, the
data
is updated straight in the server rather than first update the .sdf file and
then
update the server. but if this is not possible, please let me know.)
From what I read, in RDA you have to do a Pull to get a table, you modify it
and then
Push it back. Can I just do successive pushes (because that's all I'm really
interested in
unless I modify already existing data which is not needed in my case) or do
I have to go
through Pull then Push all the time? So, again.. should I use Merge
Replication or RDA?
Thank you in advance for all your help!Hi, here's my 2c:
Maybe instead of using Push/Pull you may use SubmitSql that doesn't need a
Previous Pull. (It seems to me that your needs are too simple to set-up a
merge replication). HTH.
"vvf" <novvfspam@.hotmail.com> ha scritto nel messaggio
news:euFumhmZFHA.2768@.tk2msftngp13.phx.gbl...
> Hi,
> Please help me with the following scenario:
> I want to implement an application using eMbedded Visual C++ 3.0 (and then
> 4.0) to capture data locally on my Windows CE device by SQL (so, I would
> like to have an .sdf file on my device where I write data.) This data
> would
> be written continuously for a certain amount of time or if there is a
> connection detected to a server somewhere (with a central database) I
> would
> like to send the data that is stored locally to that server. (wireless by
> WiFi) So, I know I need Microsoft SQL Server 2000 Windows CE edition.
> First
> of all, I realized I have to use OLE DB because ADO is not supported for
> CE
> 4.0+.. but that's ok. So, for my scenario, should I use RDA or Merge
> Replication? Again, all I want is the application running on the device to
> write data in the .sdf file and then upload it to a server (I don't need
> any
> data from the server sent to the device.) It's only one-way... from the
> device to
> the server. The data is very simple... just a time stamp with some
> statistics .. so a certain table in the server would just grow
> continuously
> adding new rows with new data received from the device... It is possible
> that I will have multiple devices that will connect to this server and
> write
> their data as well. So, should I use RDA or Merge Replication? Note that
> I would like to also be able to write the data straight to the server
> (this
> would be
> an option: e.g., the user could choose and say if the server is online,
> the
> data
> is updated straight in the server rather than first update the .sdf file
> and
> then
> update the server. but if this is not possible, please let me know.)
> From what I read, in RDA you have to do a Pull to get a table, you modify
> it
> and then
> Push it back. Can I just do successive pushes (because that's all I'm
> really
> interested in
> unless I modify already existing data which is not needed in my case) or
> do
> I have to go
> through Pull then Push all the time? So, again.. should I use Merge
> Replication or RDA?
> Thank you in advance for all your help!
>
>

RDA oleDBConnectionString problem

hi there,
can anyone please show me an example of RDAoleDBConnectionString? i was playing around with RDA, but i cant pull data with my connection string, with an error message
failure to open SQL Server with given connct string. [ connect string =
Data Source = JUN; Initial Catalog = SmartShopper; Integrated Security =True ]
i need a sample of connection string to connect to SQL server 2005, i was using VB 2005 to deploy my project

You need to specify a provider in the OleDb connection string. See http://www.connectionstrings.com/ for examples.

But if you want to connect to a SQL Server, you should probably use the Sql-specific types instead of OleDb.

|||thanks for your reference site...i get quite a lot info there..

rda localconnection

get the following erroer when trying to connect to local db on ppc both emulator and device

using vb 2005 to create a PPC 2003 appliction

Unknown connection option in connection string: provider.

the error occurs at the following code

rdaPress.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\My Documents\newsprint.sdf"

any help would be appreciated

Thanks

GS

Grant - get rid of the Provider= clause. Something like this should suit your needs:

"Data Source='\my documents\newsprint.sdf';Password='';Max Database Size='128';Default Lock Escalation ='100';"

-Darren

rda localconnection

get the following erroer when trying to connect to local db on ppc both emulator and device

using vb 2005 to create a PPC 2003 appliction

Unknown connection option in connection string: provider.

the error occurs at the following code

rdaPress.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=\My Documents\newsprint.sdf"

any help would be appreciated

Thanks

GS

Grant - get rid of the Provider= clause. Something like this should suit your needs:

"Data Source='\my documents\newsprint.sdf';Password='';Max Database Size='128';Default Lock Escalation ='100';"

-Darren

RDA in SQL Server Express

Hi,
i need to make a synchronization between a sql server 2005 express and mobile database. Sql server express cannot act as publisher for merge replication.
Could anyone tell if it is possible to use the RDA replication between the express and mobile databases?
Thanks in advance,
Nuno Silva.
Hi Nuno,

It may be possible to use RDA with SQL Express.
let me try a few things and get back to you.

RDA Error:Failure setting up a non parameterized query, possible incorrect SQL query

I receive this error :

Failure setting up a non parameterized query, possible incorrect SQL query

any 1 can help me plz?

here is my code :

string strDBFile = DBPath;

string strConnLocal = DBConnection;

string strConnRemote = "Provider=sqloledb; "

+ "Data Source=AMNEH; "

+ "Initial Catalog=SIS; "

+ "Integrated Security=SSPI;";

string strURL = "http://" + ipAddress + "/" + virtualDirectory + "/sqlcesa30.dll";

SqlCeRemoteDataAccess rdaNW = new SqlCeRemoteDataAccess();

try

{

rdaNW.LocalConnectionString = strConnLocal;

rdaNW.InternetUrl = strURL;

rdaNW.InternetLogin = "";

rdaNW.InternetPassword = "";

string select = "select * from tabel1 where field1=326";

rdaNW.Pull("tabel1",select,

strConnRemote,

RdaTrackOption.TrackingOnWithIndexes,

"ErrorLog");

}

catch (SqlCeException exSQL)

{

MessageBox.Show("HRESULT:" + exSQL.HResult.ToString() + ",\nNativeError:" + exSQL.NativeError.ToString() + ",\nMessage:" + exSQL.Message);

}

finally

{

rdaNW.Dispose();

}

There is no obvious error with your select query but there are a number of things that can be setup incorrectly when doing RDA. Did you remove the table from the SQL CE database before running this code? I have answered dozens of questions in this forum and on microsoft.public.sqlserver.ce on the topic of troubleshooting RDA. You can use Google Advanced Group Search to search for the posts that apply to RDA.

Darren

RDA Error 28622

I have seen this error posted here in the past but have not yet seen an answer.

I am developing an RDA Pull on a Compact Framework 2.0 enabled device. I am following several examples all of which are very alike. (Including Rory Blythes webcast.) When I perform the RAD.Pull method I receive the error 28622 - "Internal Error: Failure setting up a non parameterized query, possible incorrect SQL query."

I know my SQL query is correct and I have patterned the entire procedure exactly as the examples I have seen. Could it possibly be an issue with IIS? My IIS was setup using the Configure Web synchronization wizard and I receive the appropriate page when I link to it on both my desktop and mobile devices.

If anyone has encountered this error and has been able to overcome it I would appreciate some direction.

Thanks very much,

Dave

I got a similar error today....mine also had "invalid object myTableName" at the end... I had another mobile sync virtual directory setup for another database....so I changed my pull select statement to reference it and it worked...? (even though my rda.interneturl was pointing to the other virdir?)

So looks like even if you configure a second IIS virtual directory for sync....some how IIS is going to the first directory? I can get the sqlce confirmation screen my navigating to both virtual directories... //machine/virdir/sqlcesa30.dll

?

Kenny

|||

I found my issue...I was using the same login for the second sync db....but the login had the default db set as the first sync db. I guess the "inital catalog" value didn't mean a whole lot to sql 2005....?

Anyway...looks like my issues are resolved.

RDA Error

Hi all,

I am developing a Pocket PC application for synchronization SQL server 2005 and SQL CE whenever i am call a RDA's method like Pull() on my application all parameter is correct but this method give a error: "Header information is either corrupted or missing. [,,,Header name,,]", so Please help me how to solves this problem.

Hi Pavan,

Move to Sql Server Compact Edition forum, where would increases the chances for getting your question answered.

And, in most cases, this is the network configuration issue or parameters not set correct. So, could you access the server agent in IIS from your Pocket IE? And, if possible, could you please list out some code snippet, where throws the exception?

Thanks,

Zero Dai - MSFT

|||

Hi Zero Dai,

thanks for reply.

rda dropping primary key index

I am using RDA to download a tables

I use TrackingOffWithIndexes

the issue is that when I download a small set of data the primary key index is there

when I download a larger set. the index gets dropped (no error) just slowness when querying the table

the max database size is set to 1024mb and the temp database size is set to 1024mb

the actual db size (with the missing index) is 262 mb... lot's of room left!

when I try to create the index manually after the download in sql server management studio I get this error:

Not enough storage is available to complete this operation

I am using 2GB sd cards and nothing else is on the card.

any ideas?

Regards,

eric [at] westgen com

This indicates an out of error condition, make sure you dispose of the RDA objects before creating the index in code.|||

Thanks for the reply but

when running the code I get NO error... just a missing index

the index should come down automatically as long as it can fit in the db size... but it does not.. it only comes down whith a smaller set of data.

The error I get when creating the index manually is in sql server management studio... and there is no rda object to get rid of

can you please explain your reply a little more

Regards,

eric

|||How wide is your index, please detail schema and create index statement. Do you create the index with the sdf file on your hard disk or on the SD card?|||

Hi,

The table could have in excess of 1 million rows... I am not sure at how many it decides not to download the index/primary key constraint but it seems to be around the point where the database reaches 150mb although as stated previously the max size and max temp file size are set to 1024 mb

The table structure is:

Bull_id int

Cow_id int

Inbreeding_Value real

the primary key is bull_id, cow_id

I used this script to try to manually apply the index/key

ALTER TABLE INBREEDING ADD
CONSTRAINT PK_INBREEDING PRIMARY KEY
(
COW_Id,
BULL_Id
)

the db was on the device at the time I did not try from the desktop

the goal here is not to do this manually but to have the index be downloaded with the rda pull command

Thanks a lot for your help!!!

regards,

ric

|||You may be hitting a limitation in SQL CE, like max table size = 512 MB? For limits, see SQL CE BOL: Database Objects|||

Thanks again Erik

I checked the sql mobile limitations... and according to the docs the table size limit is the same as the db size limit.

I didn't see any other limits that seemed relevant

I will continue my search for an answer/solution

Regards,

ric

|||

Hi Erik,

I want to correct my previous post

you are right... there is a 512 mb size limit on tables

I will investigate on wether or not this is the cause of my issue

thanks again

ric

|||

based on my calcs

5335074 rows has a table size of 120mb even if the index took twice as much memory as the rows the total size would still be under the 512mb limit

so I still can't explain why RDA pull is dropping the primary key/index when the table reaches a certain number of rows

Regards,

ric

|||If you can provide sample data and you Pull code off-line (see my email i my profile), then I can see if I can reproduce, if so it may be a case for Microsoft to fix.|||

Hi..

I have meet the same problem, too.

I create a table with 1,380,000 rows data,

the db real size around 114 MB.

The primary key size is nchar(6).

When I use RDA pull, I found that the primary

key in the PDA disappear. So, It took a long time

to get query response.

But when I delete some rows to 680,000 rows of data.

After I pull, The primary key can pull from the SQL Server.

PS: I didn't change any code. Just delete some rows.

Is that SQL-Mobile's bug!!!

VIckrey

|||Maybe a connection timeout problem, see this post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1624137&SiteID=1|||

ErikEJ wrote:

Maybe a connection timeout problem, see this post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1624137&SiteID=1[/quote]

No, there is no any error.

HRESULT=S_OK..!@.#$

Sad

|||

Vickrey,

Have you found a solution?

I still can't get mine to work with so many rows

I am convinced this is a sql mobile bug

I cannot even add the key back (with code) once the rows are downloaded

There must be some max row bug when the table has a key.

Please let me know if you come across anything.

Regards,

eric