免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5645 | 回复: 3
打印 上一主题 下一主题

中秋节困扰我一个-804问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-12 14:26 |只看该作者 |倒序浏览
是在ubuntu上执行一个简单的连接数据库sqc文件问题
这是我的sqc代码:
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<string.h>

  4. EXEC SQL INCLUDE SQLCA;

  5. EXEC SQL BEGIN DECLARE SECTION;
  6.     char dbcaDBName[25];
  7.     char dbcaDBUser[25];
  8.     char dbcaDBPwd[25];
  9. EXEC SQL END DECLARE SECTION;

  10. int main(int argc, char *argv[])
  11. {
  12.     memset(dbcaDBName, 0, sizeof(dbcaDBName));
  13.     memset(dbcaDBUser, 0, sizeof(dbcaDBUser));
  14.     memset(dbcaDBPwd, 0, sizeof(dbcaDBPwd));
  15.     if (getenv("DBNAME") == NULL)
  16.     {
  17.         printf("dbname error\n");
  18.         return -1;
  19.     }
  20.     else
  21.         printf("dbname=[%s]\n", getenv("DBNAME"));
  22.     memcpy(dbcaDBName, getenv("DBNAME"),sizeof(dbcaDBName)-1);

  23.     if (getenv("DBUSER") != NULL)
  24.     {
  25.         memcpy(dbcaDBUser, getenv("DBUSER"),sizeof(dbcaDBUser)-1);
  26.         if(getenv("DBPWD") != NULL)
  27.         {
  28.             memcpy(dbcaDBPwd, getenv("DBPWD"),sizeof(dbcaDBPwd)-1);
  29.         }
  30.     }
  31.     EXEC SQL connect to :dbcaDBName user :dbcaDBUser using :dbcaDBPwd;
  32.     printf("connect sqlcode=[%d]\n", sqlca.sqlcode);
  33.     return 0;
  34. }
复制代码
以下是我的makefile:
  1. CC=cc

  2. DBNAME=topcbos
  3. INCDIR=/home/db2inst1/sqllib/include
  4. BINDIR=~machao/TEST
  5. BNDDIR=$(HOME)/bnd
  6. LIBDIR=/home/db2inst1/sqllib/lib

  7. CFLAGS=-I$(INCDIR) -s
  8. LFLAGS=-L$(LIBDIR) -ldb2

  9. test=test.o
  10. all:test clear

  11. test:$(test)
  12.     $(CC) -O $(LFLAGS) $(test) -o $@

  13. .SUFFIXES:.sqc
  14. .sqc.o:
  15.     db2 connect to $(DBNAME) user topcbos using topcbos
  16.     db2 prep $< bindfile
  17.     db2 bind $(BINDDIR)/$*.bnd;
  18.     $(CC) -g -c -O $(CFLAGS) $*.c

  19. clear:
  20.     -rm *.o
复制代码
执行结果是能正确打出环境变量的数据库名,但sqlcode是-804
即使把代码中的连接语句写成 EXEC SQL connect to dbname user dbuser using dbpwd; 也是同样的报错
求解,谢谢了

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
2 [报告]
发表于 2011-09-27 12:06 |只看该作者
samples下面的sqc的例子是否能成功?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2011-09-27 17:49 |只看该作者

  1. DB2錯誤信息

  2. sqlcode sqlstate 說明

  3. 000 00000 SQL語句成功完成

  4. 01xxx SQL語句成功完成,但是有警告

  5. +012 01545 未限定的列名被解釋為一個有相互關係的引用

  6. +098 01568 動態SQL語句用分號結束

  7. +100 02000 沒有找到滿足SQL語句的行

  8. +110 01561 用DATA CAPTURE定義的表的更新操作不能發送到原來的子系統

  9. +111 01590 為2型索引設置了SUBPAGES語句

  10. +117 01525 要插入的值的個數不等於被插入表的列數

  11. +162 01514 指定的表空間被置為檢查掛起狀態

  12. +203 01552 使用非唯一的名字來解決命名的限定列

  13. +204 01532 命名的對象未在DB2中定義

  14. +206 01533 命名的列不在SQL語句中指定的任何表中存在

  15. +218 01537 因為SQL語句引用一個遠程對象,不能為該SQL語句執行EXPLAIN

  16. +219 01532 命名的PLAN TABLE不存在

  17. +220 01546 不正確定義PLAN TABLE,檢查命名列的定義

  18. +236 01005 SQLDA中的SQLN的值至少應於所描述的列的個數一樣大

  19. +237 01594 至少有一個被描述的列應該是單值類型,因此擴展的SQLVAR條目需要另外的空間

  20. +238 01005 至少應有一個被描述的列是一個LOB,因此擴展的SQLVAR條目需要另外的空間

  21. +239 01005 至少應有一個被描述的列應是單值類型,因此擴展的SQLVAR條目需要另外的空間

  22. +304 01515 該值不能被分配給宿主變量,因為該值不再數據類型的範圍之內

  23. +331 01520 不能被翻譯的字符串,因此被設置為NULL

  24. +339 01569 由於與DB2 2.2版本的子系統連接,所以可能存在字符轉換問題

  25. +394 01629 使用優化提示來選擇訪問路徑

  26. +395 01628 設置了無效的優化提示,原因代碼指定了為什麼,忽略優化提示

  27. +402 01521 未知的位置

  28. +403 01522 本地不存在CREAT ALIAS對象

  29. +434 01608 在DB2未來發布的版本中將不支持指定的特性,IBM建議你停止使用這些特性

  30. +445 01004 值被CAST函數截取

  31. +462 01Hxx 由用戶定義的函數或存儲過程發出的警告

  32. +464 01609 命名的存儲過程超出了它可能返回的查詢結果集的個數限制

  33. +466 01610 指定由命名的存儲過程返回的查詢結果集的個數。成功完成

  34. +494 01614 由存儲過程返回的結果集的個數超過了由ASSOCIATE LOCATORS語句指定的結果集定位器的個數

  35. +495 01616 因為倒台SQL的成本估算超出了在ELST中指定的警告閥值,所以發出警告

  36. +535 01591 請求一個主健的定位更新,或請求一個使用自我引出約束的表的刪除操作

  37. +541 01543 命名外健是一個重複的引用約束

  38. +551 01548 命名的授權ID缺少在命名的DB2對像上執行命名操作的權限

  39. +552 01542 命名的授權ID缺少執行命名操作的權限

  40. +558 01516 已經被授權該PUBLIC,因此WITH GRANT OPTION不可用

  41. +561 01523 對ALTER REFERENCES INDEX 和TRIGGER特權,PUBLIC AT ALL LOCATION無效

  42. +562 01560 因為GRANTEE已經擁有這些特權,所以一個或更多的特權被忽略

  43. +585 01625 模式名指定了不止一次

  44. +599 01596 沒有為長字符數據類型(BLOB,CLOB和DBCLOB)建立比較函數

  45. +610 01566 由於建立了一個指定為DEFER YES的索引,指定的對象處於PENDING狀態,或者因為使用了ALTER INDEX改變關鍵值的範圍,所以指定的對象處於PENDING狀態

  46. +625 01518 因為刪除了主健索引,所以表定義被標註為不完整

  47. +626 01529 刪除了加強UNIQUE約束的索引,唯一性不在被加強

  48. +645 01528 因為建立的索引中沒有包含NULL,所以WHERE NOT NULL被忽略

  49. +650 01538 不能更改或者建立已命名的表為從屬表

  50. +653 01551 在已指定的分區表空間中尚沒有建立指定的分區索引,所以分區索引不可得

  51. +655 01597 為CREATE或ALTER STOGROUP語句指定特定或者非特定的捲ID,在DB2較新發布的版本中(版本6以後)將不再支持他們

  52. +658 01600 當建立目錄索引時,不能指定SUBPAGES語句,SUBPAGES將被忽略,並缺省為1

  53. +664 01540 分區索引的限制關鍵字超出了最大值

  54. +738 01530 已命名的對象的更改可能像只讀系統中對象的改變要求一樣

  55. +799 0157 SET語句中引用的特定寄存器不存在,將忽略SET請求

  56. +802 01519 數據溢出或者因除法異常而引起的數據異常錯誤

  57. +806 01553 ISOLATION(RR)與LOCKSIZE PAGE 衝突

  58. +807 01554 由於十進制乘法導致溢出

  59. +863 01539 連接成功,但是只支持SBCS

  60. +2000 56094 SUBPAGES不等於1的1型索引不能成為數據共享環境中的緩衝池組依賴者

  61. +2002 01624 因為指定的緩衝池不允許超高速緩存,GNPCACHE指定被忽略

  62. +2007 01602 因為DB2子系統的參數禁用“提示(hiats)”所以不能指定優化提示

  63. +30100 01558 分佈式協議錯誤被檢測到,提供原來的SQLCODE和SQLSTATE

  64. -007 42601 SQL語句中由非法字符

  65. -010 42603 字符串常量非正常終止;檢查到有遺漏的引號標誌

  66. -029 42601 需要INTO語句

  67. -060 42815 某特定數據類型的長度或者標量規範無效

  68. -084 42612 不能執行SQL語句,因為該語句對動態SQL無效或者對OS/390的DB2無效

  69. -097 42601 在單位類型、用戶自定義的函數以及過程中不能使用帶有CAST的LONG VARCHAR或LONGVARGRAPHIC

  70. -101 54001 SQL語句超出了已確定的DB2限制:例如,表的數目太多,語句中的字節太多

  71. -102 54002 字符串常量太長

  72. -103 42604 無效數學文字

  73. -104 42601 SQL語句中遇到非法符號

  74. -105 42604 無效的字符串格式;通常引用一個格式不正確的圖形字符串

  75. -107 42622 對象名太長

  76. -108 42601 RENAME語句中指定的名字有錯誤,不能使用限定詞

  77. -109 42601 指定了無效語句;例如CREATE VIEW不能包含ORDER BY 語句

  78. -110 42606 遇到了無效的十六進制的文字

  79. -111 42901 指定的列函數沒有給出列名

  80. -112 42607 無效的列函數語法;列函數不能運行與其他的列函數之上

  81. -113 42602 遇到無效字符

  82. -114 42961 該語句的位置名稱必須與當前服務器匹配,但是卻沒有匹配

  83. -115 42601 因為比較運算符沒有伴著一個表達式或者列表,遇到了無效謂詞

  84. -117 42802 待插入的數值的個數於被插入的行中的列數不相等

  85. -118 42902 數據修改語句(UPDATE或DELETE)和FROM語句中的表和視圖命名不合法

  86. -119 42803 HAVING語句中的列的列表與GROUP BY語句中的列列表不匹配

  87. -120 42903 不允許WHERE語句、SET語句、VALUES語句或者SET ASSIGNMENT語句引用列函數

  88. -121 42701 在INSERT或UPDATE語句中,某一列被非法引用了兩次

  89. -122 42803 非法使用了列函數。因為沒有用於一個列函數的所有列不再GROUP BY語句中

  90. -123 42601 特定位置的參數必須是一個常數或者一個關鍵詞

  91. -125 42805 ORDER BY語句中指定了無效數字,該數字要么小於1要么大於選定的列數

  92. -126 42829 不能為一個UPDATE語句指定ORDER BY語句

  93. -127 42905 在子選擇中DISTINCT只能指定一次

  94. -128 42601 SQL謂詞中NULL使用不當

  95. -129 54004 SQL語句中包含的表多於15個

  96. -130 22019 ESCAPE語句必須為一個字符

  97. 22025 無效的ESCAPE模式

  98. -131 42818 LIKE謂詞只能用於字符數據

  99. -132 42824 LIKE語句、ESCAPE語句、LOCATE函數或POSSTR函數中有無效運算對象

  100. -133 42906 無效相關子查詢引用

  101. -134 42907 大於255字節的列被不正確使用

  102. -136 54005 排序關鍵字的長度大於4000字節

  103. -137 54006 被連接的字符串太大;字符的最大值為32767;圖形的最大值為16382

  104. -138 22011 SUBSTR列函數的第二個或第三個操作符無效

  105. -142 42612 不支持的SQL語句。該語句可能在另外的RDBMS上有效,也有可能在其他的上下文中有效(例如,VALUES只能在觸發器中出現)

  106. -144 58003 指定的段號無效

  107. -147 42809 某一源函數不能更改。要改變源函數,必須刪除該源函數並重新建立他

  108. -148 42809 RENAME和ALTER無法執行。 RENAME不能對視圖或者活動RI.ST表重新命名。

  109. ALTER不能用於改變列的長度,因為該列參與了RI、一個用戶退出程序、全局的臨時表或打開DATACAPTURE CHANGES表的列

  110. -150 42807 觸發活動的INSERT,UPDATE或DELETE語句中指定了無效的視圖更新或一個無效的轉換錶

  111. -15142808 試圖更新一個不可更新的視圖的列、一個DB2 CATALOG表的列或者一個ROWID列

  112. -152 42809 DROP CHECK試圖刪除一個參照約束,或者DROP FOREIGN試圖刪除一個檢查約束

  113. -153 42908 無效的視圖建立請求,必須為旋轉列表中列出的列出的未命名的列或者重複的列提供一個名字

  114. -154 42909 不能用UNION、UNION ALL或者一個遠程表建立視圖

  115. -156 42809 在視圖上建立索引是非法的,或者在ALTER TABLE,CREATE TRIGGER,DROP TABLE或LOCK TABLE語句上指定一個不是表的其他對像這是無效的

  116. -157 42810 必須在FOREIGN KEY語句中指定一個表名

  117. -158 42811 視圖的列和選擇列表中的列不相匹配

  118. -159 42089 無效DROP或COMMENT ON語句

  119. -160 42813 對該視圖的WITH CHECK OPTION無效

  120. -161 44000 正被更新的視圖WITH CHECK OPTION語句使得這行不能被插入或更新

  121. -164 42502 用戶沒有建立這個視圖的權限

  122. -170 42605 標量函數指定了無效的參數個數

  123. -171 42815 標量函數指定了無效的數據類型長度或者無效數值

  124. -173 42801 在非只讀型的游標上不能指定隔離級別UR

  125. -180 22007 DATE、TIME、TIMESTAMP值的字符串表示法的語法不對

  126. -181 22001 不是有效的DATE、TIME、TIMESTAMP值

  127. -182 42816 在算術表達式中的日期/時間值無效

  128. -183 22008 在算術表達式中返回的日期/時間值的結果不在有效值的範圍內

  129. -184 42610 沒有正確使用日期/時間值的參數標記

  130. -185 57008 沒有定義本定的日期/時間出口

  131. -186 22505 改變本定的日期/時間出口引發這個程序的長度無效

  132. -187 22506 MVS返回無效的當前日期/時間

  133. -188 22503 字符串表示無效

  134. -189 22522 指定的編碼字符集的ID無效或沒有定義

  135. -190 42837 不能像所設定的那樣改變(ALTER)列。只能改變(ALTER)VARCHAR列的長度

  136. -191 22504 字符串中包含了無效的混合數據

  137. -197 42877 當兩個或多個表被聯合在一起排序時,限定的列名不能在ORDER BY語句中使用

  138. -198 42617 試圖對空的字符串發布一個PREPARE或EXECUTE IMMEDIATE語句

  139. -199 42601 SQL語句中使用了非法關鍵詞

  140. -203 42702 模糊列引用

  141. -204 42704 沒有定義的對象名

  142. -205 42703 指定的表的列名無效

  143. -206 42703 列名沒有在FROM語句所引用的任何表中,或者沒有在定義觸發器所在的表中

  144. -208 42707 不能ORDER BY指定列,應為該列不在選擇列表中

  145. -212 42712 指定的表名在觸發器中不允許多次使用,只能使用一次

  146. -214 42822 DISTINCT、ORDER BY 引起的無效表達式

  147. -219 42704 因為PLAN_TABLE不存在,EXPLAIN無法執行

  148. -220 55002 遇到無效的PLAN_TABLE列

  149. -221 55002 如果為PLAN_TABLE定義了可供選擇的列,那麼,必須定義所有的列

  150. -229 42708 指定的現場找不到

  151. -240 428B4 LOCK TABLE語句的PART子句無效

  152. -250 42718 沒有定義本地位置名

  153. -251 42602 記號無效

  154. -300 22024 宿主變量或參數中的字符串不是以NULL為終止

  155. -301 42895 無效的宿主變量數據類型

  156. -302 22001 輸入的變量值對指定的列無效

  157. 22003 輸入的變量值對指定的列而言太大

  158. -303 42806 因為數據類型不兼容,不能分配數值

  159. -304 22003 因為數據超出了範圍,不能分配數值

  160. -305 22002 沒有NULL指示符變量

  161. -309 22512 因為引用的宿主變量被設置成NULL,所以謂詞無效

  162. -310 22501 十進制的宿主變量或參數包含非十進制數據

  163. -311 22501 輸入的宿主變量長度無效,或者時負值或者太大

  164. -312 42618 沒有定義宿主變量或者宿主變量不可用

  165. -313 07001 宿主變量的個數不等於參數標識的個數

  166. -314 42714 模糊的宿主變量引用

  167. -327 22525 在最後分區的關鍵字範圍內,不能插入行

  168. -330 22021 不能成功的翻譯字符串

  169. -331 22021 字符串不能分配到宿主變量,因為其不能成功的被翻譯

  170. -332 57017 不能為兩個命名的編碼字符集的ID定義翻譯規則

  171. -333 56010 子類型無效導致翻譯失敗

  172. -338 42972 ON語句無效,必須引用連接的列

  173. -339 56082 訪問DB2 2.2版本的子系統被拒絕,原因時ASCII到EBCDIC翻譯不能進行

  174. -350 42962 無效的大對象規範

  175. -351 56084 SELECT列表中有不支持的數據類型

  176. -352 56084 輸入列表中有不支持的數據類型

  177. -355 42993 LOB列太大,以至不能被記錄在日誌中

  178. -372 428C1 每個表只允許有一個ROWID列

  179. -390 42887 在上下文中指定的函數無效

  180. -392 42855 自從前一次FETCH以來,指定游標的SQLDA已被不恰當的改變

  181. -396 38505 在最後的訪問過程中,視圖執行SQL語句

  182. -397 428D3 在某一列上不恰當的指定了GENERATED因為該列不是ROWID數據類型

  183. -398 428D2 為某一個宿主變量請求LOCATOR,但是該宿主變量不是一個LOB

  184. -399 22511 在INSERT語句中為ROWID列指定的值無效

  185. -400 54027 在DB2編目中定義的用戶自定義索引不能超過100個

  186. -401 42818 算術操作符或比較操作符的操作對像不是兼容的

  187. -402 42819 算術函數不能用於字符或日期時間數據

  188. -404 22001 SQL語句指定的字符串太長

  189. -405 42820 數值文字超出了範圍

  190. -406 22003 計算出的或者倒出的數值超出了範圍

  191. -407 23502 不能把NULL值插到定義為NOT NULL的列中

  192. -408 42821 數值不能被更新或插入,因為他與列的數據類型不兼容

  193. -409 42607 COUNT函數指定的運算對象無效

  194. -410 42820 浮點文字筆30個字符的最大允許長度長

  195. -411 56040 CURRENT SQLID使用無效

  196. -412 42823 在子查詢的選擇列表中遇到了多個列

  197. -413 22003 當轉換為一個數字型數據類型時,數據溢出

  198. -414 42824 LIKE謂詞不能運行於用數字或日期時間類型定義的列

  199. -415 42825 為UNION操作指定的選擇列表不是聯合兼容的

  200. -416 42907 包含UNION操作符的SQL語句不允許有長的字符串列

  201. -417 42609 兩參數標識符作為運算對像被指定在同一謂詞的兩邊

  202. -418 42610 參數標識符使用無效

  203. -419 42911 十進制除法無效

  204. -420 22018 字符串自變量值不符合函數的要求

  205. -421 42826 UNION操作的選擇列表中沒有提供相同數目的列

  206. -423 0F001 為LOB或結果集定位器指定的值無效

  207. -426 2D528 在不允許更新的應用服務器不允許執行COMMIT語句

  208. -427 2D529 在不允許更新的應用服務器不允許執行ROLLBACK語句

  209. -430 38503 在用戶自定義的函數或存儲過程中遇到了錯誤

  210. -433 22001 指定的值太長

  211. -435 428B3 無效的應用定義的SQLSTATE

  212. -438 xxxxx 使用了RAISE_ERROR函數的應用發出了一個錯誤

  213. -440 42884 存儲過程或用戶自定義函數的參數列表參數個數於預期的個數不匹配

  214. -441 42601 與標量函數一起使用DISTINCT或ALL是不正確的用法

  215. -443 42601 指定的外部函數返回錯誤的SQLSTATE

  216. -444 42724 與被稱為存儲過程或用戶自定義函數有關的程序不能找到

  217. -449 42878 對存儲過程或用戶自定義的函數,CREATE或ALTER語句不正確(缺失EXTERNAL NAME 子句)

  218. -450 39501 存儲過程或用戶自定義函數寫入存儲器的值超過了參數聲明的長度

  219. -451 42815 CREATE FUNCTION中指定了不正確的數據類型

  220. -453 42880 用戶自定義函數中的RETURNS語句無效

  221. -454 42723 指定的函數識別標記與已存在的另一函數的識別標記衝突

  222. -455 42882 模式名不比配

  223. -456 42710 為用戶自定義函數指定的函數名已經存在

  224. -457 42939 用戶自定義函數或用戶自定義類型正試圖使用系統中定義的函數或者類型所用的名稱

  225. -458 42883 沒有找到函數

  226. -463 39001 特定的外部例程返回無效的SQLSTATE

  227. -469 42886 參數定義為OUT或INOUT的CALL語句必須提供宿主變量

  228. -470 39002 指定了NULL參數,但是該例程卻不支持NULL

  229. -471 55023 存儲過程或用戶自定義函數失敗:提供原因代碼

  230. -472 24517 外部的函數程序使游標處於打開狀態

  231. -473 42918 用戶自定義數據類型命名不能和系統定義的數據類型一樣

  232. -475 42866 結果類型不能被轉換成RETURNS類型

  233. -476 42725 在其模式中該函數不是獨一無二的

  234. -478 42893 不能DROP或REVOKE特定的對象,因為其他對象依賴於該對象

  235. -480 51030 直到存儲過程已經被CALL後,DESCRIBE PROCEDURE和ASSOCIATE LOCATORS才能被發布

  236. -482 51030 存儲過程不返回到任何一個定位器

  237. -483 42885 CREATE FUNCTION語句中的參數個數與源函數中的參數個數不匹配

  238. -487 38001 選擇了NO SQL選項建立指定的存儲過程或用戶自定義函數,但卻視圖發布SQL語句

  239. -491 42601 CREATE FUNCTION語句無效,因為該語句沒有RETURNS語句或者因為該語句沒有指定有效的SOURCE或者EXTERNAL語句

  240. -492 42879 指定函數的指定參數的個數有錯誤

  241. -495 57051 語句的估計處理器成本超出了資源限制

  242. -496 51033 語句無法執行,因為當前服務器與調用存儲過程的服務器不同

  243. -497 54041 指定的數據庫超過了32767 OBID的上限,或者CREATE DATABASE語句使之達到了32511DBID的上限

  244. -499 24516 指定的游標已被分配到結果集,該結果集來自已經指定的存儲過程

复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2011-09-27 17:50 |只看该作者

  1. -500 24501 因為連接被破壞,WITH HOLD游標被關閉

  2. -501 24501 在試圖獲取數據或關閉一個游標前必須打開一個游標

  3. -502 24502 在沒有關閉游標前不能再次打開游標

  4. -503 42912 因為列在游標的FOR UPDATE OF語句中沒有被指定,該游標用於獲取該列,所以不能更新該列

  5. -504 34000 不能引用一個游標,因為他不是定義到程序裡的

  6. -507 24501 在試圖更新或者刪除WHERE CURRENT OF前,必須打開游標

  7. -508 24504 因為被引用的游標當前不是處於數據行上,所以不能被更新或刪除

  8. -509 42827 除了在游標上指定的那個表(該表由WHERE CURRENT OF語句引用的)以外,再也不能從別的表上更新數據

  9. -510 42828 表或視圖不能被修改

  10. -511 42829 對不可修改的表或視圖,FOR UPDATE OF語句無效

  11. -512 56023 對遠程對象的無效引用

  12. -513 42924 一個別名不能再被定義成另外的別名

  13. -514 26501 游標尚沒有被準備

  14. -516 26501 試圖描述未準備好的SQL語句

  15. -517 07005 因為SQL語句尚沒有準備好,游標無效

  16. -518 07003 試圖執行尚沒有準備好的SQL語句

  17. -519 24506 當為游標的SQL語句發布一個準備語句是,游標不能是打開的

  18. -525 51015 不能在已指定的程序包中執行SQL語句,因為在綁定時間內該程序包無效

  19. -526 42995 在給定的上下文中,不能使用全局的臨時表

  20. -530 23503 對特定的約束名指定了無效的外健值

  21. -531 23504 從版本5開始,父關鍵字的多行更新將試圖刪除一個外關鍵字依賴的父關鍵字值,在版本5以前,當引用主關鍵值外健值當前存在時,試圖更新該主健值

  22. -532 23504 刪除操作違反了已指定的參照約束

  23. -533 21501 多行插入無效,試圖將多行插到自我引用的表中

  24. -534 21502 可改變主健列值的更新語句不能在同一時刻用於更新多行

  25. -535 21502 當從自我引用表中刪除數據或者更新主健列時,不能指定WHERE CURRENT OF。不是版本5的子系統才調用該代碼

  26. -536 42914 因為某一特定表的參照約束存在,所以刪除語句無效

  27. -537 42709 在外健語句或主健語句的規範中,每個列的出現不能多於一次

  28. -538 42830 無效的外健;不符合引用的表沒有主健

  29. -539 42888 不能定義外健,因為被引用的表沒有主健

  30. -540 57001 表定義不完整,直到為主健建立了唯一索引或UNIQUE語句、或者包含GENERATED BYDEFAULT屬性的ROWID列

  31. -542 42831 可以為空的列不允許作為主健的一部分包含在內

  32. -543 23511 因為該表是指定了SET NULL刪除規則的參照約束的父表而且檢查約束不允許NULL,所以DELETE不能發生

  33. -544 23512 不能用ALTER添加檢查約束,因為已存在的某行與該檢查約束衝突

  34. -545 23513 INSERT或者UPDATE導致檢查約束衝突

  35. -546 42621 在CREATE或ALTER TABLE中指定的檢查約束無效

  36. -548 42621 因為指定的列而引起的檢查約束無效

  37. -549 42509 DYNAMICRULES(BIND)計劃或程序包的無效SQL語句

  38. -551 42501 用戶試圖對不擁有權限的特定的對象進行操作,或者表不存在

  39. -552 42502 用戶試圖執行未被授權的操作

  40. -553 42503 不能指定CURRENT SQLID,因為用戶尚沒有被允許改變那個ID

  41. -554 42502 不能對你本身賦予一個權限

  42. -555 42502 不能對你本身撤銷一個權限

  43. -556 42504 不能撤銷用戶沒有擁有的權限

  44. -557 42852 指定了不一致的授予或撤銷關鍵詞

  45. -558 56025 為授予或撤銷語句指定了無效的語句(一個或一組)

  46. -559 57002 DB2權限機制已經禁用,授予或者撤銷不能被發布

  47. -567 42501 指定的權限ID缺少對指定的程序包的綁定權限

  48. -571 25000 不允許多點更新

  49. -573 42890 不能定義參照約束,因為已指定的父表中在指定的列上沒有唯一健

  50. -574 42864 指定的缺省與列定義衝突

  51. -577 38002 試圖修改用戶自定義函數中的數據或者存儲過程中的數據,但這些對象的建立沒有選擇MODIFIES SQL DATA選項

  52. -579 38004 試圖修改用戶自定義函數中的數據或者存儲過程中的數據,但這些對象的建立沒有選擇READ SQL DATA選項,也沒有選擇MODIFIES SQL DATA選項

  53. -580 42625 CASE表達式中的結果表達式不能都是空的

  54. -581 42804 CASE表達式中的結果表達式為不兼容的數據類型

  55. -582 42625 SEARCHED-WHEN-CLAUSE中的查找條件指定了一個限定的、IN或EXISTS謂詞

  56. -583 42845 指定的函數失敗,因為他不是決定性的,或者可能有外部動作

  57. -585 42732 在當前路徑中模式名不止一次出現

  58. -586 42907 CURRENT PATH專用寄存器在長度上不能超過254字符

  59. -587 428C6 項目引用的列表必須是同一個家族

  60. -590 42734 在命名的存儲過程或用戶自定義的函數中的參數必須是獨一無二的

  61. -592 42510 沒有授權權限,讓你在WLM環境中建立的存儲過程或者用戶自定義函數

  62. -601 42710 試圖創建(或重命名)已經存在的對象

  63. -602 54008 CREATE INDEX語句中指定的列太多

  64. -603 23515 因為發現有重複值,所以不能建立唯一的索引

  65. -604 42611 在CREATE或ALTER TABLE語句中的為數據類型指定的長度、精度以及標度無效

  66. -607 42832 指定的INSERT、UPDATE或DELETE語句不能被發布,應為這些語句對DB2 CATLOG表執行寫操作

  67. -611 53088 當LOCKSIZE是TABLE或者TABLESPACE時,LOCKMAX必須為0

  68. -612 42711 在同一個表、索引或試圖中不允許有重複列名

  69. -613 54008 主健或UNIQUE約束太長或者包含了太多的列

  70. -614 54008 已經超過了索引的內部健長度的最大長度(255)限制

  71. -615 55006 不能刪除這個程序包,因為該程序包目前正在執行

  72. -616 42893 指定的對像不能被刪除,因為其他對象依賴於該對象

  73. -617 56089 對於DB2版本6,1型索引無效。對於以前的版本,1型索引不能用LOCKSIZE ROW或LARGE表空間定義

  74. -618 42832 對DB2 CATALOG表的請求操作時不允許的

  75. -619 55011 DSNDB07不能修改,除非他先被停止了

  76. -620 53001 對在DSNDB07中的表空間不允許指定該關鍵詞

  77. -621 58001 遇到了重複的DBID,遇到了系統問題

  78. -622 56031 不能指定FOR MIXED DATA因為沒有安裝混合數據選項

  79. -623 55012 不能為單一的表定義多個族索引

  80. -624 42889 不能為單一的表定義多個主健

  81. -625 55014 用主健定義的表要求唯一索引

  82. -626 55015 不能發布ALTER語句來改變PRIQTY SECQTY或ERASE,除非先停止了表空間

  83. -627 55016 不能發布ALTER語句來改變PRIQTY SECQTY或ERASE,除非先把表空間定義為使用存儲器組的表空間

  84. -628 42613 指定語句時相互排斥的(例如,不能分區一個分段的表空間)

  85. -629 42834 因為該外健不能包含空值,所以SET NULL無效

  86. -630 56089 不能為1型索引指定WHERE NOT NULL

  87. -631 54008 無效的外健;要么是比254個字節長,要么包含的列數多於40

  88. -632 42915 指定的刪除規則禁止把這個表定義為已製定表的從屬表

  89. -633 42915 無效刪除規則;必須使用特定的強制刪除規則

  90. -634 42915 在這種情況下,DELETE CASCADE不允許

  91. -635 42915 刪除規則不能有差異或者不能為SET NULL

  92. -636 56016 在分區索引健的升序或降序規範中,分區所以必須與該規範一致

  93. -637 42614 遇到重複的關鍵詞

  94. -638 42601 在CREATE TABLE語句中缺少列定義

  95. -639 56027 帶有SET NULL的刪除規則的外健的可空列不能是分區索引的列

  96. -640 56089 不能為這個表空間指定LOCKSIZE ROW,因為在該表空間中的表上定義了1型索引

  97. -642 54021 唯一約束包含太多的列

  98. -643 54024 檢查約束超出了3800個字符的最大長度

  99. -644 42615 在SQL語句中為關鍵詞指定的值無效

  100. -646 55017 在指定的分區表空間或者缺省表空間中不能創建表,因為指定的表空間已經包含了一個表

  101. -647 57003 指定的緩衝池無效,因為他沒有被激活

  102. -650 56090 ALTER INDEX不能被執行;提供了原因代碼

  103. -651 54025 如果CREARE或ALTER TABLE被允許,表對象的描述詞(object descriptor,OBD)將超過最大值(32KB)

  104. -652 23506 遇到了EDITRPROC或VALIDPROC衝突

  105. -653 57004 在分區表空間中的表不可用,因為分區索引尚未被創建

  106. -655 56036 在卷的列表中,STOGROUP不能指定為特定的或不特定(“*”)的捲

  107. -658 42917 當試圖刪除指定的對象時,無法刪除該對象,該對象的刪除必須通過刪除與之相關聯的對象完成

  108. -660 53035 不正確的分區索引規範,必須為族索引定義有限制的關鍵字

  109. -661 53036 分區索引沒有指定恰當的分區數目

  110. -662 53037 試圖在未分區的表空間(分段的或簡單的)上建立分區索引

  111. -663 53038 為分區索引指定的關鍵字限制值是一個無效數字

  112. -665 53039 為ALTER TABLESOACE語句指定了無效的PART語句

  113. -666 57005 SQL語句不能被處理,因為指定的函數當前正處於進行過程中

  114. -667 42917 不能明確的刪除分區表空間的族索引,必須除去分區表空間來去掉分區索引

  115. -668 56018 不能向用EDITPROC定義的表中添加列

  116. -669 42917 不能顯式的刪除分區表空間中的表,必須刪除分區表空間來刪除表

  117. -670 54010 表的記錄長度超過了頁面的大小

  118. -671 53040 不能更改指定的表空間的緩衝池,因為這將改變表空間的頁面大小

  119. -672 55035 在命名的表上不允許DROP

  120. -676 53041 只有4KB的緩衝池可被用於一個索引

  121. -677 57011 緩衝池擴展失敗,由於可用的虛擬內存的大小不足

  122. -678 53045 為才分區索引中指定的限制健提供的值與數據類型不符

  123. -679 57006 不能創建某一個特定對象,因為該對象的一個drop目前正在掛起

  124. -680 54011 對DB2表不能超過750列

  125. -681 23507 列違反了指定的FIELDPROC

  126. -682 57010 不能載入FIELDPROC

  127. -683 42842 列、單值類型、函數或者過程無效,因為不兼容語句。例如,指定的INTEGER具有FORBITDATA選項

  128. -684 54012 指定的文字列表不能超過254個字節

  129. -685 58002 FIELDPROC返回一個無效的域描述

  130. -686 53043 用FIELDPROC定義的一個列不能與一個使用不同的FIELDPROC定義的列作比較

  131. -687 53044 列不能與一個非兼容字段類型的列比較

  132. -688 58002 返回不正確的數據

  133. -689 54011 從屬表定義了太多的列

  134. -690 23508 數據定義的控制支持拒絕這個語句

  135. -691 57018 命名的註冊表不存在

  136. -692 57018 命名的索引不存在,但命名的註冊表需要該索引

  137. -693 55003 命名的註冊表/索引的命名列無效

  138. -694 57023 DROP正在命名的註冊表上掛起

  139. -696 42898 由於相關的名字或者轉換錶的名字使用不正確,指定的觸發器無效

  140. -697 42899 FOR EACH語句被指定,因此與OLD合NEW相關的名字是不允許的,或者不能為一個BEFORE觸發器指定OLD_TABLE和NEW_TABLE

  141. -713 42815 指定的專用寄存器是無效的

  142. -715 56064 命名的程序不能被運行,因為他依賴與你所安裝的DB2版本的部件,但是你的數據中心沒有安裝這個部件

  143. -716 56065 命名的程序使用這個版本的不正確的發行版本做了預編譯

  144. -717 56066 BIND失敗,因為他依賴與你所安裝的DB2版本的部件,但是你的數據中心沒有安裝這個部件

  145. -718 56067 REBIND失敗,因為IBMREQD列無效

  146. -719 42710 不能BIND ADD一個已經存在的程序包

  147. -720 42710 不能BIND REPLACE一個已經存在的程序包版本

  148. -721 42710 程序包的一致性記號必須是獨一無二的

  149. -722 42704 綁定錯誤,因為指定的程序包不存在

  150. -723 09000 一個觸發的SQL語句接受到一個錯誤

  151. -724 54038 達到了(16)級聯間接的SQL語句的最大項目

  152. -725 42721 對專門指定的寄存器提供了一個無效值

  153. -726 55030 因為SYSPKSYSTEM條目,不能綁定這個程序包

  154. -728 56080 指定的數據類型不能與私有協議發布一起使用

  155. -729 429B1 用COMMIT ON RETURN定義的存儲過程不能用作嵌套的CALL過程的目標

  156. -730 56053 在只讀的共享數據庫中為表定義的參照完整性無效

  157. -731 56054 VSAM數據集必須用SHAREOPTION(1.3)定義

  158. -732 56055 被定義為只讀型數據庫卻擁有沒有定義空間或者索引空間的DB2子系統

  159. -733 56056 只讀共享數據庫的定義不一致

  160. -734 56057 一旦一個數據庫被定義為ROSHARE READ,他將不能被更改為其他不同的ROSHARE狀態

  161. -735 55004 用DBID名稱標識的數據庫不再是一個只讀共享數據庫

  162. -736 53014 命名的DBID無效

  163. -737 53056 在這種狀況下,不能建立一個隱含的表空間

  164. -739 56088 因為同時指定了ALLOW PARALLEL和MODIELES SQL DATA這兩個語句,因此已設定的函數將不能再被更改

  165. -740 51034 在這種方式下不能用MODIELES SQL DATA定義指定的函數

  166. -741 55030 已經為命名的共享組成員的數據定義了工作文件數據庫

  167. -742 53004 DSNDB07是隱含的工作文件數據庫

  168. -746 57053 在特定的觸發器、存儲過程或函數中的SQL語句違反嵌套SQL限制

  169. -747 57054 指定的表是不可用的除非為LOB數據列建立起必須的輔助表

  170. -748 54042 在指定的輔助表上已經有一個索引

  171. -750 42986 不能對已指定的表重新命名,因為他至少在一個現存的視圖或觸發器中被引用

  172. -751 42987 存儲過程或用戶自定義的函數試圖執行一個不允許執行的SQL語句。 DB2的線程被置於MUST_ROLLBACK狀態

  173. -752 0A001 無效CONNECT語句

  174. -763 560A1 無效的表空間名

  175. -764 560A2 LOB表空間必須與其相關的基表空間同在一個數據庫中

  176. -765 560A3 表和數據庫不兼容

  177. -766 560A4 不能對輔助表進行請求的操作

  178. -767 42626 CREATE INDEX失敗,因為在輔助表中為索引指定了列,或者因為沒有為非輔助表的索引指定列

  179. -768 560A50 不能為指定的列或者指定的分區建立輔助表,因為其輔助表已經存在

  180. -769 53096 CREATE AUX TABLE的規格與基表不匹配

  181. -770 530A6 指定的表必須有一個ROWID列,那麼該表才可以包含一個LOB列

  182. -771 428C7 無效的ROWID列規範

  183. -797 42987 CREATE TRIGGER包含不被支持的語法

  184. -798 428C9 不能把一個值插入到用GENERATED ALWAYS定義的ROWID列

  185. -802 22012 某一特定操作發生了異常錯誤。被零除

  186. 22003 某一特定操作發生了異常錯誤。但不是被零除

  187. -803 23505 不能插入行,因為這將違反唯一索引的約束

  188. -804 07002 SQLDA的調用參數列表有誤

  189. -805 51002 在計劃中沒有發現DBRM或程序包名

  190. -807 23509 對已指定的環境和連接,該程序包不可用

  191. -808 08001 CONECT語句與程序中的第一個CONNECT語句不一致

  192. -811 21000 當多行作為一內嵌的選擇語句的返回結果是,必須使用游標

  193. -812 22508 在CURRENT PACKAGESET中的ID集合是空白的,語句不能被執行

  194. -815 42920 在一個內置選擇語句或者一個基本謂詞的子查詢中,顯式的或隱含的指定了GROUP BY或HAVING語句

  195. -817 25000 執行SQL語句將可能導致禁止更新用戶數據或DB2編目

  196. -818 5103 計劃<->載入組件的時間戳不匹配,在執行計劃中沒有從同一個預編譯中建立DBRM,該預編譯是作為組件載入的

  197. -819 58004 視圖不能重建,因為在DB2編目中存儲的分析樹長度為0

  198. -820 58004 在這個DB2版本的DB2編目中遇到了無效值

  199. -822 51004 在SQLDA中遇到了無效地址

  200. -840 54004 在選擇列表或插入列表中返回的項目太多

  201. -842 08002 到指定位置的連接已經存在

  202. -843 08003 SET CONNECTION或RELEASE語句無法執行,因為連接不存在

  203. -870 58026 宿主變量描述符的個數不等於語句中宿主變量的個數

  204. -872 51302 這個子系統已指定了有效的CCSID

  205. -873 53090 同一SQL語句中,不能同時引用EBCDIC表中的定義的列和ASCII表中定義的列

  206. -874 53901 指定對象的編碼方案與其表空間的編碼方案不匹配

  207. -875 42988 指定的操作符不能用於ASCII數據

  208. -876 53092 不能為指定的原因創建對象:提供了原因代碼

  209. -877 53093 數據庫或表空間不允許用ASCII,必須使用EBCDIC

  210. -878 53094 該PLAN——TABLE不能是ASCII,必須使用EBCDIC

  211. -879 53095 指定對象的CREATE或ALTER語句不能將列、單值類型,某個存儲過程或用戶自定義函數的參數定義為以下類型:MAXEDDATA,GRAPHIC,VARGRAPHIC,LONGVARGRAPHIC,因為系統沒有為指定的編碼方案定義相應的CCSID

  212. -900 08003 應用處理沒有連接到應用服務器,語句不能被執行

  213. -901 58004 遇到時斷時續的系統錯誤,該錯誤不能抑制後繼的SQL語句的執行

  214. -902 58005 內部控制塊的指針錯誤,要求重新綁定

  215. -904 57011 指定的資源不可用

  216. -905 57014 超出了資源上限

  217. -906 51005 因為重大錯誤,SQL語句無法執行

  218. -908 23510 當前資源限制設施的規範或者自動重綁定的系統參數不允許BIND,REBIND,AUTOREBIND

  219. -909 57007 對像已被刪除

  220. -910 57007 因為在該對像上掛起DROP,所以不能訪問該對象

  221. -911 40001 當前工作單元已被回滾

  222. -913 57033 因為死鎖或超時導致不成功執行

  223. -917 42969 綁定程序包已經失敗

  224. -918 51021 SQL語句不能被執行,因為連接丟失

  225. -919 56045 需要一個ROLLBACK

  226. -922 42505 連接權限失敗。試圖從TSO、CICS或IMS訪問DB2,同時相應的連接設施處於非活動的狀態

  227. -923 57015 因為DB2不可用,所以不能建立連接

  228. -924 58006 遇到了DB2內部的連接錯誤:提供了原因代碼

  229. -925 2D521 SQL的COMMIT語句不能從CICS或IMS/TM發布

  230. -926 2D521 SQL的ROLLBACK語句不能從CICS或IMS/TM發布

  231. -927 51006 當正在連接的環境沒有建立時,語言接口被調用。利用DSN命令激發該程序

  232. -929 58002 數據獲取退出已經失敗(DPROP)

  233. -939 51021 由於遠程服務器的未請求的回滾,要求一個回滾

  234. -947 56038 SQL語句失敗,因為更新不能被傳播(DPROP)

  235. -948 56062 DDF沒有啟動,分佈式操作無效

  236. -950 42705 在SQL語句中指定的位置在SYSIBM.LOCATIONS中沒有定義

  237. -965 51021 存儲過程非正常終止(在DB2 6之前的版本)

  238. -981 57015 當前不是處於允許SQL的狀態時,試圖在RRSAF中執行SQL

  239. -991 57015 調用連接不能建立一個到DB2的隱含或開放連接

  240. -2001 53089 為儲存過程指定的宿主變量參數的個數不等於預期的參數個數

  241. -20003 560A7 不能為GRECP中的表空間或索引指定GBPCACHE NONE

  242. -20004 560A8 對於WORKFILE對象。 8KB或16Kb的緩衝池頁面大小無效

  243. -20005 54035 指定的對像類型超出了內部的ID極限

  244. -20006 53097 當沒有指定WLM環境時,LOB不能被指定為參數

  245. -20070 53098 不能非LOB列建立一個輔助表

  246. -20071 53099 必須指定WLM環境名

  247. -20072 56052 指定的權限ID不擁有在觸發器程序包上執行BIND所需的權限

  248. -20073 42927 不能按照指定的要求更改命名的函數,因為在現存的視圖定義中引用了該函數

  249. -20074 42939 不能建立指定的對象,因為“SYS”是一個保留的前綴

  250. -20100 56059 在被觸發的SQL語句中有BIND錯誤,指定了錯誤的SQLCODE和SQLSTATE

  251. -20101 56059 由於指定的原因代碼,該函數失敗

  252. -20102 42849 在CREATE或ALTER FUNCTION語句中不能使用指定的選項

  253. -20104 42856 更改一個CCSID失敗

  254. -20106 42945 不能改變表空間或數據庫的CCSID,因為現存的試圖引用

  255. -30000 58008 DRDA分佈協議錯誤;處理可以繼續

  256. -30002 57057 使用DRDA的分佈式客戶把OPEN語句連接到PREPARE,但PREPARE接受到一個SQLCODE為+495的警告

  257. -30020 58009 DRDA分佈協議錯誤;對話被解除

  258. -30021 58010 DRDA分佈協議錯誤;處理不能繼續

  259. -30030 58013 違反分佈協議:COMMIT不成功,對話被解除(AS)

  260. -30040 57012 因為不能得到資源,執行失敗,處理可以繼續(AS)

  261. -30041 57013 因為不能得到資源,執行失敗,處理不能成功的繼續(AS)

  262. -30050 58011 執行不成功,在BIND過程中不能執行語句

  263. -30051 58012 特定的BIND過程不是處於活動狀態(遠程BIND),從而導致失敗

  264. -30052 42932 程序準備的假設錯誤

  265. -30053 42506 程序包的擁有者遭遇授權失敗

  266. -30060 08004 RBD遭遇授權失敗

  267. -30061 08004 指定了無效或者沒有存在的RDB

  268. -30070 58014 目標子系統不支持這個命令

  269. -30071 58015 目標子系統不支持這個對象

  270. -30072 58016 目標子系統不支持這個參數

  271. -30073 58017 目標子系統不支持這個參數值

  272. -30074 58018 應答信息不被支持

  273. -30080 08001 SNA通信錯誤

  274. -30081 58019 TCP/IP通信錯誤

  275. -30082 08001 由於安全衝突、通信失敗:提供了原因代碼

  276. -30090 25000 指定的操作對遠程執行失敗

  277. -30104 56095 在綁定選項與綁定值中有錯誤

  278. -30105 56096 指定的綁定選項不兼容
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP