使用自定义字符集在Oracle数据库中声明CLOB

By simon at 2018-02-27 • 0人收藏 • 53人看过

如果数据库使用.txt设置,是否可以声明一个UTF-8 CLOB? 以下字符集?

PARAMETER               VALUE
NLS_CHARACTERSET        CL8ISO8859P5
NLS_NCHAR_CHARACTERSET  AL16UTF16
我试过传球声明的字符集名称,但它看起来可以 只接受对其他对象的字符集的引用。
declare
  clob_1 clob character set "AL32UTF8";
begin
  null;
end;
/

3 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

我不认为这是可能的,请参阅[PL / SQL语言 基本面】(https://docs.oracle.com/database/121/LNPLS/fundamentals.htm#LNPLS002)

PL / SQL使用数据库字符集来表示:

  • PL / SQL单元的存储源文本 *字符v数据类型CHAR,VARCHAR2,CLOB和LONG

所以,在你的情况下,你必须使用NCLOB90,它使用AL16UTF16或try a 与BLOB解决方法。但是,这可能会变得麻烦。

2018-02-28   #2

据我所知,你不能那样做。 数据库字符集是在数据库创建过程中定义的(不能是 除非改变你重新创建数据库)和所有character数据类型列 将数据存储在该字符集中。 也许你可以尝试NCLOB数据类型,其中“N”表示 “国家字符集”,它会存储Unicode字符数据。

Unicode是一个universal编码字符集,可以存储信息 任何使用单个字符集的语言

2018-02-28   #3

我不认为这是可能的,请参阅[PL / SQL语言 基本面】(https://docs.oracle.com/database/121/LNPLS/fundamentals.htm#LNPLS002)

PL / SQL使用数据库字符集来表示:

  • PL / SQL单元的存储源文本 *字符v数据类型CHAR,VARCHAR2,CLOB和LONG

所以,在你的情况下,你必须使用NCLOB90,它使用AL16UTF16或try a 与BLOB解决方法。但是,这可能会变得麻烦。

登录后方可回帖

Loading...