ipohfly
ipohfly

Reputation: 2009

Unspecified Error when trying to ExecuteReader on SQL Server CE

I had implemented a database storage on my app for Windows Mobile 6.5 using SQL Server CE.

Had managed to install the SQL Server CE CAB file on the device (Motorola MC65).

Managed to create database file, and create tables. Insert also can be executed.

However when I try to run ExecuteReader() to read records, I hit the following error:

Error Code: 80004005
Message : Unspecified error
Minor Err.: 25534
Source : SQL Server Compact ADO.NET Data Provider

No idea why this is happening. Since insert can be executed I thought this should not be a connection or privilege issue.

The reading code is as below:

openConnection();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT NAME FROM GROUP_INFO ORDER BY NAME ";

SqlCeDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
      string groupName = reader.GetString(0);
      listGroup.Add(groupName);
}

The exception is thrown on the line where cmd.ExecuteReader() is executing.

Any pointers are appreciated. Thanks.

Upvotes: 0

Views: 1069

Answers (1)

ErikEJ
ErikEJ

Reputation: 41819

Implement proper error handling for SqlCeExceptions! The error is documented here https://technet.microsoft.com/en-us/library/ms172350(v=sql.110).aspx

Large objects (ntext and image) cannot be used in ORDER BY clauses.

Maybe you should redefine the column as nvarchar(4000) (it is currently ntext), or rephrase the query using:

 ORDER BY CAST(Name as nvarchar(4000))

But this will cause a table scan

Upvotes: 1

Related Questions