如果你编写的 SQL Server CE 应用程序出现下面的错误信息:
Error Code: 8007000E
Message: Not enough storage is available to complete this operation.
Minor Err.:0 Source: Microsoft SQL Server 2000 Windows CE Edition
或者
Error Code: 8007000E
Message: 没有足够的存储空间来完成该操作。
Minor Err.:0 Source: Microsoft SQL Server 2000 Windows CE Edition
可能是以下原因导致的:
你在使用 SqlCeDataAdapter 对象填充 DataSet 后,没有显式地调用相关 SqlCeCommand 对象的 Dispose 方法。
解决方法:
在使用完 SqlCeDataAdapter 对象后,显式地调用与 SqlCeDataAdapter 对象相关的 SqlCeCommand 对象的 Dispose 方法。包括有 SelectCommand、InsertCommand、UpdateCommand 和 DeleteCommand。
示例代码:
publicstaticDataSetLoadData()
{
stringsqlstring="";
//MaketheconnectiontotheSQLServerCEdatasource
SqlCeConnectionconn=newSqlCeConnection("DataSource=<completePathofSDFfile>");
//CreatetheSqlCeDataAdapterobject
sqlCeDataAdapterda=newSqlCeDataAdapter();
//CreatetheDataSetobject
DataSetds=newDataSet();
try
{
sqlstring="selectnamefrommytablewherename=?";
//CreatetheSelectCommandinstancetorunaselectquery
da.SelectCommand=newSqlCeCommand();
//SetSelectCommandobjectproperties
da.SelectCommand.Connection=conn;
da.SelectCommand.CommandText=sqlstring;
da.SelectCommand.Parameters.Add(newSqlCeParameter("name",System.Data.SqlDbType.NVarChar,30));
da.SelectCommand.Parameters["name"].Value=name;
//PopulatetheDataSetobject
da.Fill(ds,"name");
}
catch(SqlCeExceptionsqlx)
{
ShowErrors(sqlx);
}
catch(Exceptionx)
{
MessageBox.Show(x.Message.ToString());
}
finally
{
//ExplicitlydisposetheSelectCommandinstance
da.SelectCommand.Dispose();
da.Dispose();
}
returnds;
}
参考微软知识库:
SqlCeCommand objects are not automatically disposed if you use a SqlCeDataAdapter object
原文地址:http://www.cnblogs.com/upto/archive/2007/01/28/kb-824462.html
分享到:
相关推荐
com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案
SQL Server 2005 移动版(SQL Server Mobile)或SQL Server 2000 Windows CE 2.0版(SQL Server CE 2.0)的企业和个人用户如果计划与SQL Server 2000或SQL Server 2005数据库保持同步,需要在您运行Microsoft ...
SQL Server 2005 技术内幕 存储引擎
您将跟随一位广受欢迎的作家同时也是SQL Server资深专家一起深入探索SQL Server存储引擎的技术内幕。 本书适合于专业数据库开发者、BI开发者、DBA和以SQL Server作为后台数据库的一般应用程序开发者。本书不仅适合...
User friendly query designer and data manipulation tool for SQL Server CE from:http://www.codeproject.com/KB/database/CEQuery.aspx
Microsoft SQL Server 2005技术内幕:存储引擎(中文)
您将跟随一位广受欢迎的作家同时也是SQL Server资深专家一起深入探索SQL Server存储引擎的技术内幕。 本书适合于专业数据库开发者、BI开发者、DBA和以SQL Server作为后台数据库的一般应用程序开发者。本书不仅适合...
EXCEL 与SQL SERVER 的数据互换技术 c#
资源名称:SQL_Server存储过程调试指南内容简介: 存储过程( Stored Procedure)是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来...
对于 Platform Builder 用户,必须将该软件包与 Platform Builder 安装在同一台计算机中,这样,在构建自定义的操作系统时才能访问 SQL Server CE 组件。必须在安装 SQL Server CE 组件之前先安装 Platform Builder...
Microsoft SQL Server技术内幕丛书的历史 丛书结构 《Microsoft SQL Server 2005技术内幕:T-SQL查询...《Microsoft SQL Server 2005技术内幕:存储引擎》 《Microsoft SQL Server 2005技术内幕:查询、调整和优化》
Microsoft SQL Server 2005技术内幕 T_sql存储引擎 中文版
sqlServer执行存储过程报错:42000 - [SQL Server]SQL Server 阻止了对组件“Ole Automation Procedures”的 过程“sys.sp_OACreate”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以...
可以将SQL Server存储过程转为oracle存储过程的工具
在连接到Sql Server 2005时,在默认的设置下Sql Server不允许进行远程连接可能会导致此失败。 (provider:命名管道提供程序,error:40-无法打开到SQL server的连接) 处理:1、在配置工具->Sql server 外围应用...
Inside SQL Server 2005: Query Tuning and Optimization <br>不用多说,Kalen Delaney 关于Inside SQL Server 2005的第四卷(查询调校和最优化)
您将跟随一位广受欢迎的作家同时也是sql server资深专家一起深入探索sql server存储引擎的技术内幕。 本书适合于专业数据库开发者、bi开发者、dba和以sql server作为后台数据库的一般应用程序开发者。本书不仅适合...
sql server报错时的几种解决办法 如:忘记了登录Microsoft SQL Server 2005 的sa的登录密码 登录过程中发生错误
Inside Microsoft SQL Server 2008: T-SQL Querying