在查询下面,我用来获取SP定义,但是在detach(training)
中,我在TEXT column
中得到的是NULL
值,但我可以IBM DATA Studio
的SP。
CALL
请帮助
答案 0 :(得分:1)
您已经确认syscat.procedures.language是SQL,并且您的查询工具能够显示文本的substr()。
解决方法取决于感兴趣的行的长度(文本):
SELECT PROCNAME, substr(TEXT,1, 1024) FROM SYSCAT.PROCEDURES WHERE PROCNAME LIKE '%USP_ABC%'
您可能需要根据文本的长度和您的配置来调整substr提取的长度。例如substr(TEXT,1,2048)或更高的长度值,这是查询工具可以应付的长度。
您可以找到感兴趣的行的带有LENGTH(TEXT)的文本列的长度。
您还可以将CLOB转换为char或varchar,使其长度适合其限制以及所具有的任何查询工具限制。 另一种选择是使用可以与CLOB一起使用的不同查询工具。
答案 1 :(得分:0)
您是否正在使用具有最新修复程序的最新版本的Data Studio?听起来您的SP中可能包含无效的UTF-8字符,或者当您使用SUBSTR和SUBSTRING时,您正在将多字节字符分成两半。
您可以尝试设置
-Ddb2.jcc.charsetDecoderEncoder=3
在您的eclipse.ini中让Java使用替换字符而不是用nul替换无效的字符串
请参阅此技术说明
https://www-01.ibm.com/support/docview.wss?uid=swg21684365
否则,请通过IBM Suppport提出此建议