none
操作“SQLCE”,磁盘空间不足,Why??? RRS feed

  • 问题

  • “SQLCE”中删除数据时,提示“磁盘空间不足,无法完成操作。” ,这是怎么回事???

    只删除 一条数据也是这个样子。

    SQL语句:"delete from T_Data where dataid in (17403125,0)"

    操作的是SQLCE数据库,从它里面读取数据,一次读取1000条也是没问题的。只是删除的时候,会提示磁盘空间不足。


    问题一:到底是为什么,是因为SDF文件太大了吗?  有256M。



    public static int ExecNonQuery(string connStr, string sqlStr)
            {
                int iRet;
                try
                {
                    using (SqlCeConnection conn = new SqlCeConnection(connStr))
                    {
                        conn.Open();
                        using (SqlCeCommand cmd = new SqlCeCommand(sqlStr, conn))
                        {
                            iRet = cmd.ExecuteNonQuery();
                        }
                        //conn.Close();

    问题二:这里应该不用手动关闭数据库连接吧。  就算关闭了,也还是报错。 “ cmd.ExecuteNonQuery();”,这一步就报错了。   到底是为什么。

                    }
                }
                catch (Exception ex)
                {
                    if (sqlError != null)
                    {
                        sqlError("执行SQL指令错误\tSql语句:" + sqlStr + "\t错误信息:" + ex.Message + "\r\n");
                    }
                    iRet = -1;
                }
                return iRet;
            }

    Science and technology is my lover.

    2014年6月9日 7:42

答案

  • >>问题一:到底是为什么,是因为SDF文件太大了吗?  256M

    这个是有可能的。楼主试下建个小于128MSDF文件呢。128M是个限制。

    具体可以看这里:

    http://support.microsoft.com/kb/935769

    >>问题二:这里应该不用手动关闭数据库连接吧。  就算关闭了,也还是报错。 cmd.ExecuteNonQuery();”,这一步就报错了。   到底是为什么。

    这可能和楼主第一个问题有联系,建议楼主按照第一个问题的建议试下。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年6月10日 7:02
    版主