liuyq
路人甲
路人甲
  • 注册日期2005-10-10
  • 发帖数7
  • QQ
  • 铜币122枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1477回复:1

C/S结构下,客户端添加图元保存不能保存的困惑

楼主#
更多 发布于:2005-12-22 19:24
<P>有一个困惑,不知哪位大师可解答。</P>
<P>在客户端,打开服务端中Oracle9i中存储的MapInfo图形的某一层,比如:River层,在该层上面添加一条Polyline之后,无法存入Oracle9i数据库中,原因是Oracle9i中给RIVER层增加了一个MI_PRINX字段,而且作为PRIMRY(主键),程序提示的信息是:</P>
<P>Oracle Error: OCI RC=-1, DBMS RC=1400, DBMS Msg=ORA-01400: 无法将 NULL插入("MapInfo","RIVER","MI_PRINX").</P>
<P>当然,只要用MapInfo的工具easyLoader上载MapInfo图形到Oracle9i数据库中,就一定有MI_PRINX字段。</P>
<P>我的问题是如何在客户端添加图元并保存入服务器端。</P>
喜欢0 评分0
liuyq
路人甲
路人甲
  • 注册日期2005-10-10
  • 发帖数7
  • QQ
  • 铜币122枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-12-23 18:37
<P>当然解决的办法是在Oracle9i数据库中,或者用程序把字段MI_PRINX去掉或者设置为“可以为空”,但是这就破坏了River表的结构,然后再设置回去,即再把删掉的MI_PRINX增加上,或者设置为“不为空”。</P>
<P>我还尝试了Spatial for SQL Server将数据存入SQL Server 2000数据库中,就不存在此问题,原因是SQL Server 2000数据库中类似的字段是值自动增加的。</P>
<P>有没有更好的办法呢?高手可以交流以下呀!</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部