定制列的问题
<h1>缺少字段</h1>
<p>有些e8升级到e9的客户系统会出现没有字段的问题(可能是执行脚本的问题)</p>
<p>缺少字段DataIndex,width等,可以通过脚本修复</p>
<pre><code class="language-sql">Oracle数据库修复代码
alter table cloudstore_defcol add dataIndex VARCHAR2 ( 200 byte );
alter table cloudstore_defcol add width VARCHAR2(100 byte);
SqlServer,MySQL数据库修复代码
alter table cloudstore_defcol add dataIndex VARCHAR (200);
alter table cloudstore_defcol add width varchar(100);</code></pre>
<h1>缺少字段序列</h1>
<pre><code class="language-sql">create sequence CLOUDSTORE_DEFCOL_SEQ
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
NOCACHE</code></pre>
<h1>缺少触发器</h1>
<p>Oracle数据库,国产数据库 修复代码</p>
<pre><code class="language-sql">create or replace trigger CLOUDSTORE_DEFCOL_ID
before insert on CLOUDSTORE_DEFCOL
for each row
begin
select CLOUDSTORE_DEFCOL_SEQ.NEXTVAL INTO :new.id from dual;
end;</code></pre>
<p>MySQL数据库修复代码</p>
<pre><code class="language-sql">alter table cloudstore_defcol modify column id int auto_increment primary key;</code></pre>
<h1>关于达梦数据库 执行报错问题</h1>
<p>初始化前参数检查</p>
<pre><code class="language-sql">SELECT SF_GET_UNICODE_FLAG()返回为1
SELECT SF_GET_CASE_SENSITIVE_FLAG();返回为1
SELECT SF_GET_page_size()返回16384
select para_name,para_value from v$dm_ini where lower(para_name) in ('compatible_mode','pk_with_cluster','exclude_reserved_words','max_sessions');</code></pre>
<p>返回如下结果
pk_with_cluster=0 compatible_mode=2 exclude=link,array,list
dm.ini中的参数设置
在dm.ini中有个参数EXCLUDE_RESERVED_WORDS,这个参数可以用来屏蔽你想要屏蔽的保留字,将需要屏蔽
的保留字写在=号后面,然后以逗号分隔。设置在dm.ini中的好处就是一旦设置,永久生效而且对所有客户端都有效,这样就不需要在所有客户端系统中进行专门配置。但是设置在dm.ini中之后,这个保留字就永久性失效了,哪怕你想通过manager客户端工具在本地连接也没用了。而且该方式还存在一个隐患就是由于屏蔽掉了一些系统的保留字,所以可能会导致系统的一些功能无法正常使用。
建议:
在移植过程中遇到DM7的保留字,最好的处理方式还是对这些保留字进行修改,尽量不要使用DM7的保留字。
ink array list这三个必须加进去。limit可以去掉。</p>