<p> 下表列出了在使用 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 时可能会遇到的<strong>常见错误</strong>以及建议的解决方案。</p>
<p></p>
<table style="width: 550px;" width="550" align="center" border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th bgcolor="#aaaaaa">本机错误</th>
<th bgcolor="#aaaaaa">错误号</th>
<th bgcolor="#aaaaaa">解决方案</th>
</tr>
<tr>
<td width="70">
<p>28037</p>
</td>
<td>
<p>80072EFD</p>
</td>
<td>
<p>用户的设备必须具有网络连接。例如,设备可能不具备正常运行的调制解调器、网卡或 USB 连接。</p>
<p>或者</p>
<p>请确保运行 Microsoft Internet 信息服务 (IIS) 的计算机可用,并且确保 ISP 或网络正常运转。</p>
</td>
</tr>
<tr>
<td>
<p>28017</p>
</td>
<td>
<p>80004005</p>
</td>
<td>
<p>请确保指定了正确的虚拟目录。例如,URL 可能拼写错误。</p>
</td>
</tr>
<tr>
<td>
<p>0</p>
</td>
<td>
<p>80045017</p>
</td>
<td>
<p>SQL Server Compact Edition 复制提供程序必须具有对快照文件夹的读权限。需要读权限是因为 SQL Server Compact Edition 复制提供程序可以将初始订阅下载到设备。</p>
<p>SQL Server Compact Edition 复制提供程序运行时使用的标识取决于配置 IIS 身份验证的方式。</p>
</td>
</tr>
<tr>
<td>
<p>0</p>
</td>
<td>
<p>80045020</p>
</td>
<td>
<p>请确保支持客户端提供的列的数据类型长度。</p>
<p>SQL Server Compact Edition 仅支持 Unicode 数据类型。它会将 ANSI 字符数据类型转换成它们的 Unicode 等效字符。</p>
<p>例如,如果您订阅一个表,且表中包含具有 256 个字符的 char 列,SQL Server Compact Edition 会将该表映射到 SQL Server Compact Edition ntext 列。这样,如果用户将一条记录添加到 ntext 列,且记录中包含大于 256 个字符的值,用户就会收到一条错误信息,因为数据无法放到发布服务器上的 char 列中。</p>
<p>若要改正此错误,如果您无法更改发布服务器的架构来避免这种类型的数据类型映射,那么请添加应用程序级别的逻辑来限制用户可以在他们的设备上输入的字符数。</p>
</td>
</tr>
<tr>
<td>
<p>28560</p>
</td>
<td>
<p>80040E14</p>
</td>
<td>
<p>快照格式必须设置为发布的字符模式。</p>
</td>
</tr>
<tr>
<td>
<p>25016</p>
</td>
<td>
<p> </p>
</td>
<td>
<p>请确保没有发生重复键冲突。</p>
<p>在用户将记录添加到包含标识列的表中时,可能会发生这样的冲突。在请求表时,远程数据访问 (RDA) 不会管理标识列。</p>
<p>或者</p>
<p>请确保已配置了复制发布来管理发布中表的标识列。</p>
</td>
</tr>
<tr>
<td>
<p>0</p>
</td>
<td>
<p>80004005</p>
</td>
<td>
<p>请确保对于 RDA Pull 方法的 OLEDBConnectionString 参数,用户 ID、密码和初始目录是正确的。</p>
</td>
</tr>
<tr>
<td>
<p>25546</p>
</td>
<td>
<p>80040E14</p>
</td>
<td>
<p>请确保不要尝试为带有 partition_options 的项目修改在参数化筛选器中引用的列。在此类型的项目中筛选的列都标记为只读。</p>
</td>
</tr>
<tr>
<td>
<p>28627</p>
</td>
<td>
<p>80040E4D</p>
</td>
<td>
<p>请验证用于 SQL Server 发布服务器的密码是否正确。</p>
</td>
</tr>
<tr>
<td>
<p>29046</p>
</td>
<td>
<p>80040E09</p>
</td>
<td>
<p>请确保不要尝试修改仅限下载的项目。仅限下载的项目类型被标记为只读。</p>
</td>
</tr>
<tr>
<td>
<p>25027</p>
</td>
<td></td>
<td>
<p>此错误可能会发生在两个实例中:CREATE / ALTER TABLE 或 INSERT/UPDATE。SQL Server Compact Edition 不允许固定列的行长度超过 8060 个字节。但是,SQL Server Compact Edition 允许使用可变长度列,从而行可以超过 8060 个字节的理论限制(NTEXT/IMAGE 不包括在内)。例如,可以创建包含 100 个 NVARCHAR 列的表,每列的长度为 200 字节,而不会发生错误。但是,如果使用 INSERT 或 UPDATE 来修改具有可变长度 CHAR 数据类型 (NVarChar) 的列中的行,而该数据类型引起了整个行长度超过 8060 字节,那么此错误可能会发生。</p>
</td>
</tr>
</tbody>
</table>