| 1 | /* |
| 2 | * herr.ci |
| 3 | * |
| 4 | * $Id$ |
| 5 | * |
| 6 | * Error messages |
| 7 | * |
| 8 | * The iODBC driver manager. |
| 9 | * |
| 10 | * Copyright (C) 1995 by Ke Jin <kejin@empress.com> |
| 11 | * |
| 12 | * This library is free software; you can redistribute it and/or |
| 13 | * modify it under the terms of the GNU Library General Public |
| 14 | * License as published by the Free Software Foundation; either |
| 15 | * version 2 of the License, or (at your option) any later version. |
| 16 | * |
| 17 | * This library is distributed in the hope that it will be useful, |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 20 | * Library General Public License for more details. |
| 21 | * |
| 22 | * You should have received a copy of the GNU Library General Public |
| 23 | * License along with this library; if not, write to the Free |
| 24 | * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 25 | */ |
| 26 | |
| 27 | static const sqlerrmsg_t sqlerrmsg_tab[] = |
| 28 | { |
| 29 | { en_00000, "00000", "" }, |
| 30 | { en_01000, "01000", "General warning" }, |
| 31 | { en_01002, "01002", "Disconnect error" }, |
| 32 | { en_01004, "01004", "Data truncated" }, |
| 33 | { en_01006, "01006", "Privilege not revoked" }, |
| 34 | { en_01S00, "01S00", "Invalid connection string attribute" }, |
| 35 | { en_01S01, "01S01", "Error in row" }, |
| 36 | { en_01S02, "01S02", "Optional value changed" }, |
| 37 | { en_01S03, "01S03", "No rows updated or deleted" }, |
| 38 | { en_01S04, "01S04", "More than one row updated or deleted" }, |
| 39 | { en_07001, "07001", "Wrong number of parameters" }, |
| 40 | { en_07006, "07006", "Restricted data type attribute violation" }, |
| 41 | { en_08001, "08001", "Unable to connect to data source" }, |
| 42 | { en_08002, "08002", "Connection in use" }, |
| 43 | { en_08003, "08003", "Connect not open" }, |
| 44 | { en_08004, "08004", "Data source rejected establishment of connection" }, |
| 45 | { en_08007, "08007", "Connection failure during transaction" }, |
| 46 | { en_08S01, "08S01", "Communication link failure" }, |
| 47 | { en_21S01, "21S01", "Insert value list does not match" }, |
| 48 | { en_21S02, "21S02", "Degree of derived table does not match column list" }, |
| 49 | { en_22001, "22001", "String data right truncation" }, |
| 50 | { en_22003, "22003", "Numeric value out of range" }, |
| 51 | { en_22005, "22005", "Error in assignment" }, |
| 52 | { en_22008, "22008", "Datetime field overflow" }, |
| 53 | { en_22012, "22012", "Division by zero" }, |
| 54 | { en_22026, "22026", "String data, length mismatch" }, |
| 55 | { en_23000, "23000", "Integrity constraint violation" }, |
| 56 | { en_24000, "24000", "Invalid cursor state" }, |
| 57 | { en_25000, "25000", "Invalid transaction state" }, |
| 58 | { en_28000, "28000", "Invalid authorization specification" }, |
| 59 | { en_34000, "34000", "Invalid cursor name" }, |
| 60 | { en_37000, "37000", "Syntex error or access violation" }, |
| 61 | { en_3C000, "3C000", "Duplicate cursor name" }, |
| 62 | { en_40001, "40001", "Serialization failure" }, |
| 63 | { en_42000, "42000", "Syntax error or access violation" }, |
| 64 | { en_70100, "70100", "Operation aborted" }, |
| 65 | { en_IM001, "IM001", "Driver does not support this function" }, |
| 66 | { en_IM002, "IM002", "Data source name not found and no default " |
| 67 | "driver specified. Driver could not be loaded" }, |
| 68 | { en_IM003, "IM003", "Specified driver could not be loaded" }, |
| 69 | { en_IM004, "IM004", "Driver's SQLAllocEnv() failed" }, |
| 70 | { en_IM005, "IM005", "Driver's SQLAllocConnect() failed" }, |
| 71 | { en_IM006, "IM006", "Driver's SQLSetConnectOption failed" }, |
| 72 | { en_IM007, "IM007", "No data source or driver specified, dialog prohibited" }, |
| 73 | { en_IM008, "IM008", "Dialog failed" }, |
| 74 | { en_IM009, "IM009", "Unable to load translation DLL" }, |
| 75 | { en_IM010, "IM010", "Data source name too long" }, |
| 76 | { en_IM011, "IM011", "Driver name too long" }, |
| 77 | { en_IM012, "IM012", "DRIVER keyword syntax error" }, |
| 78 | { en_IM013, "IM013", "Trace file error" }, |
| 79 | { en_IM014, "IM014", "Try to change tracing file while tracing is on" }, |
| 80 | { en_S0001, "S0001", "Base table or view already exists" }, |
| 81 | { en_S0002, "S0002", "Base table not found" }, |
| 82 | { en_S0011, "S0011", "Index already exists" }, |
| 83 | { en_S0012, "S0012", "Index not found" }, |
| 84 | { en_S0021, "S0021", "Column already exists" }, |
| 85 | { en_S0022, "S0022", "Column not found" }, |
| 86 | { en_S0023, "S0023", "No default for column" }, |
| 87 | { en_S1000, "S1000", "General error" }, |
| 88 | { en_S1001, "S1001", "Memory allocation failure" }, |
| 89 | { en_S1002, "S1002", "Invalid column number" }, |
| 90 | { en_S1003, "S1003", "Program type out of range" }, |
| 91 | { en_S1004, "S1004", "SQL data type out of range" }, |
| 92 | { en_S1008, "S1008", "Operation canceled" }, |
| 93 | { en_S1009, "S1009", "Invalid argument value" }, |
| 94 | { en_S1010, "S1010", "Function sequence error" }, |
| 95 | { en_S1011, "S1011", "Operation invalid at this time" }, |
| 96 | { en_S1012, "S1012", "Invalid transaction operation code specified" }, |
| 97 | { en_S1015, "S1015", "No cursor name available" }, |
| 98 | { en_S1090, "S1090", "Invalid string or buffer length" }, |
| 99 | { en_S1091, "S1091", "Descriptor type out of range" }, |
| 100 | { en_S1092, "S1092", "Option type out of range" }, |
| 101 | { en_S1093, "S1093", "Invalid parameter" }, |
| 102 | { en_S1094, "S1094", "Invalid scale value" }, |
| 103 | { en_S1095, "S1095", "Function type out of range" }, |
| 104 | { en_S1096, "S1096", "Information type out of range" }, |
| 105 | { en_S1097, "S1097", "Column type out of range" }, |
| 106 | { en_S1098, "S1098", "Scope type out of range" }, |
| 107 | { en_S1099, "S1099", "Nullable type out of range" }, |
| 108 | { en_S1100, "S1100", "Uniquenss option type out of range" }, |
| 109 | { en_S1101, "S1101", "Accuracy option type out of range" }, |
| 110 | { en_S1103, "S1103", "Direction option out of range" }, |
| 111 | { en_S1104, "S1104", "Invalid precision value" }, |
| 112 | { en_S1105, "S1105", "Invalid parameter type" }, |
| 113 | { en_S1106, "S1106", "Fetch type out of range" }, |
| 114 | { en_S1107, "S1107", "Row value out of range" }, |
| 115 | { en_S1108, "S1108", "Concurrency option out of range" }, |
| 116 | { en_S1109, "S1109", "Invalid cursor position" }, |
| 117 | { en_S1110, "S1110", "Invalid driver completion" }, |
| 118 | { en_S1111, "S1111", "Invalid bookmark value" }, |
| 119 | { en_S1C00, "S1C00", "Driver not capable" }, |
| 120 | { en_S1T00, "S1T00", "Timeout expired" }, |
| 121 | { en_sqlstat_total, NULL, NULL } |
| 122 | }; |
| 123 | |
| 124 | static char FAR* sqlerrhd = "[iODBC][Driver Manager]"; |