DBMaster能在NCLOB字段插入UTF16的文本文件吗?
在插入文本文件到NCLOB之前,DBMaster会将文本文件转化为Unicode,所以,如果这个文件是以Unicode保存的,它将不用被转换而直接插入。从4.2版本(包括4.2)以后,DBMaster支持命令”set bfiletype Unicode/ASCII”(默认设置是ASCII),使用这个命令Unicode文本文件可以被直接插入到NCLOB字段。
例如:
首先,转换README.TXT为UTF16编码,然后保存在C:\DBMaster\4.3路径下。
dmSQL> create table UTF16(fileContent nclob, pk serial);
dmSQL> set bfiletype unicode;
dmSQL> insert into UTF16 values(?);
dmSQL/Val> &'C:\DBMaster\4.3\README.TXT';
1 rows inserted
dmSQL/Val> end;
dmSQL> set bfiletype ASCII; // default setting
请注意,在4.2版本之前的版本,DBMaster不支持命令”set bfiletype Unicode/ASCII”。所以用户不能够直接插入UTF16的文本文件。一个方法可以解决此问题,就是先将Unicode文件转换为本地编码,然后插入。另一个方法是使用程序打开文件,用Unicode数据类型putData就可以了。