8 * The iODBC driver manager.
10 * Copyright (C) 1995 by Ke Jin <kejin@empress.com>
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.
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.
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.
27 static const sqlerrmsg_t sqlerrmsg_tab[] =
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 }
124 static char FAR* sqlerrhd = "[iODBC][Driver Manager]";