<router-view> can no longer be used directly inside <transition> or <keep-alive>.

Posted 陈熙之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了<router-view> can no longer be used directly inside <transition> or <keep-alive>.相关的知识,希望对你有一定的参考价值。

百度翻译:

<router view>不能直接在<transition>或<keep alive>中使用。

改用插槽道具:

运行环境:

"vue": "^3.2.8",
"vue-router": "^4.0.13" 

 触发警告代码:

 <keep-alive>
          <router-view name="p2">
          </router-view>
</keep-alive>

 keep包router

 照着这个提示复制上去

<router-view name="p2" v-slot=" Component ">
                <keep-alive include="Home,News">
                    <component class="view" :is="Component" />
                </keep-alive>
            </router-view>

程序插入数据报错ORA-01461: can bind a LONG value only for

我的ORACLE表里没有long字段,可是保存时报错:

ORA-01461 :仅可以为插入LONG列的LONG值赋值
ORA-01461: can bind a LONG value only for insert into a LONG column

本来我这张表里只有一个VARCHAR2(4000)的字段,一直没有这种错误发生,后来我把另一个字段长度调整为VARCHAR2(4000),这错误就开始发生了。

你的数据库字符集可能是UTF-8的,对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义中为varchar2(4000),但是其实该字段的data_length为其2倍或3倍长。这种情况下oracle会把data_length长度超过4000的当做LONG型处理,你的表中有两个这样的字段,插入数据时相当于同时操作2个LONG字段,所以报错。
建议减小字段长度或拆分

案例2:

今天接到开发人员报告:在用jdbc导入数据时遇到ORA-01461
ORA-01461 can bind a LONG value only for insert into a LONG column

Cause: An attempt was made to insert a value from a LONG datatype into another datatype. This is not allowed.

Action: Do not try to insert LONG datatypes into other types of columns.

这个错误一般发生在插入或者更新Varchar2类型的字段

实际引起这个错误的主要原因是字符集问题及字符串长度到原因,根据本人遇到到情况一共分两种:
1、插入到字符串长度大于4000字节
2、插入到表中的记录其中一个是long类型、还有其他实际长度大于2000个字节(如果是UTF-8,则是1333个字节);或者是插入的记录中有两个或两个以上长度大于2000字节的字符串

用以下SQL可以查出有可能引起ORA-01461错误的表:
SELECT FROM
(SELECT TABLE_NAME, OWNER, count(
) NUM
FROM DBA_TAB_COLUMNS
WHERE DATA_TYPE=‘LONG‘
OR (( DATA_TYPE=‘VARCHAR2‘
or DATA_TYPE=‘CHAR‘
or DATA_TYPE=‘NVARCHAR2‘
or DATA_TYPE=‘NCHAR‘)
AND DATA_LENGTH > 1333)
AND OWNER NOT IN
(‘SYS‘,‘SYSTEM‘,‘SH‘,‘OLAPSYS‘,‘MDSYS‘,‘WKSYS‘,‘ODM‘,‘XDB‘,‘WMSYS‘)
GROUP BY TABLE_NAME, OWNER)
WHERE NUM > 1

在本例中,更好是插入到记录有2个字段长度大于2000,由于数据库字符集不可更改,故结合实际业务逻辑,将插入记录到其中一个字符串长度缩减在2000字节以下,解决连问题.

转载至:https://www.cnblogs.com/yangkai-cn/p/4016611.html

我们的数据库中插入报错的表有2个VARCHAR2(4000)的列。但是插入的时候,其中一个列赋值,另一个列设置为null。
所以建议程序员:将表中column size 4000的列在程序中的变量值 size 调小至2000.

以上是关于<router-view> can no longer be used directly inside <transition> or <keep-alive>.的主要内容,如果未能解决你的问题,请参考以下文章

程序插入数据报错ORA-01461: can bind a LONG value only for

perl xttdriver.pl fails: Can't locate Getopt/Long.pm in @INC (Doc ID 1912400.1)

RuntimeError: result type Float can‘t be cast to the desired output type long int

Pytorch 抛出错误 RuntimeError: result type Float can't be cast to the desired output type Long

解决:Command line is too long. In order to reduce its length classpath file can be used.

解决:Command line is too long. In order to reduce its length classpath file can be used.