ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/FBMessages.pas
Revision: 263
Committed: Thu Dec 6 15:55:01 2018 UTC (5 years, 11 months ago) by tony
Content type: text/x-pascal
Original Path: ibx/trunk/fbintf/client/FBMessages.pas
File size: 25750 byte(s)
Log Message:
Release 2.3.2 committed

File Contents

# Content
1 (*
2 * Firebird Interface (fbintf). The fbintf components provide a set of
3 * Pascal language bindings for the Firebird API. Although predominantly
4 * a new development they include source code taken from IBX and may be
5 * considered a derived product. This software thus also includes the copyright
6 * notice and license conditions from IBX.
7 *
8 * Except for those parts dervied from IBX, contents of this file are subject
9 * to the Initial Developer's Public License Version 1.0 (the "License"); you
10 * may not use this file except in compliance with the License. You may obtain a
11 * copy of the License here:
12 *
13 * http://www.firebirdsql.org/index.php?op=doc&id=idpl
14 *
15 * Software distributed under the License is distributed on an "AS
16 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
17 * implied. See the License for the specific language governing rights
18 * and limitations under the License.
19 *
20 * The Initial Developer of the Original Code is Tony Whyman.
21 *
22 * The Original Code is (C) 2016 Tony Whyman, MWA Software
23 * (http://www.mwasoftware.co.uk).
24 *
25 * All Rights Reserved.
26 *
27 * Contributor(s): ______________________________________.
28 *
29 *)
30 {************************************************************************}
31 { }
32 { Borland Delphi Visual Component Library }
33 { InterBase Express core components }
34 { }
35 { Copyright (c) 1998-2000 Inprise Corporation }
36 { }
37 { InterBase Express is based in part on the product }
38 { Free IB Components, written by Gregory H. Deatz for }
39 { Hoagland, Longo, Moran, Dunst & Doukas Company. }
40 { Free IB Components is used under license. }
41 { }
42 { The contents of this file are subject to the InterBase }
43 { Public License Version 1.0 (the "License"); you may not }
44 { use this file except in compliance with the License. You }
45 { may obtain a copy of the License at http://www.Inprise.com/IPL.html }
46 { Software distributed under the License is distributed on }
47 { an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either }
48 { express or implied. See the License for the specific language }
49 { governing rights and limitations under the License. }
50 { The Original Code was created by InterBase Software Corporation }
51 { and its successors. }
52 { Portions created by Inprise Corporation are Copyright (C) Inprise }
53 { Corporation. All Rights Reserved. }
54 { Contributor(s): Jeff Overcash }
55 { }
56 { IBX For Lazarus (Firebird Express) }
57 { Contributor: Tony Whyman, MWA Software http://www.mwasoftware.co.uk }
58 { Portions created by MWA Software are copyright McCallum Whyman }
59 { Associates Ltd 2011 - 2015 }
60 { }
61 {************************************************************************}
62 unit FBMessages;
63 {$IFDEF MSWINDOWS}
64 {$DEFINE WINDOWS}
65 {$ENDIF}
66
67 {$IFDEF FPC}
68 {$mode delphi}
69 {$codepage UTF8}
70 {$ENDIF}
71
72 interface
73
74 uses
75 Classes, SysUtils;
76
77 type
78 TIBDataBaseErrorMessage = (ShowSQLCode,
79 ShowIBMessage,
80 ShowSQLMessage);
81
82 TIBDataBaseErrorMessages = set of TIBDataBaseErrorMessage;
83 TIBClientError = (
84 ibxeUnknownError,
85 ibxeInterBaseMissing,
86 ibxeInterBaseInstallMissing,
87 ibxeIB60feature,
88 ibxeNotSupported,
89 ibxeNotPermitted,
90 ibxeFileAccessError,
91 ibxeConnectionTimeout,
92 ibxeCannotSetDatabase,
93 ibxeCannotSetTransaction,
94 ibxeOperationCancelled,
95 ibxeDPBConstantNotSupported,
96 ibxeDPBConstantUnknown,
97 ibxeTPBConstantNotSupported,
98 ibxeTPBConstantUnknown,
99 ibxeDatabaseClosed,
100 ibxeDatabaseOpen,
101 ibxeDatabaseNameMissing,
102 ibxeNotInTransaction,
103 ibxeInTransaction,
104 ibxeTimeoutNegative,
105 ibxeNoDatabasesInTransaction,
106 ibxeUpdateWrongDB,
107 ibxeUpdateWrongTR,
108 ibxeDatabaseNotAssigned,
109 ibxeTransactionNotAssigned,
110 ibxeXSQLDAIndexOutOfRange,
111 ibxeXSQLDANameDoesNotExist,
112 ibxeEOF,
113 ibxeBOF,
114 ibxeInvalidStatementHandle,
115 ibxeSQLOpen,
116 ibxeSQLClosed,
117 ibxeDatasetOpen,
118 ibxeDatasetClosed,
119 ibxeUnknownSQLDataType,
120 ibxeInvalidColumnIndex,
121 ibxeInvalidParamColumnIndex,
122 ibxeInvalidDataConversion,
123 ibxeColumnIsNotNullable,
124 ibxeBlobCannotBeRead,
125 ibxeBlobCannotBeWritten,
126 ibxeBlobNotOpen,
127 ibxeEmptyQuery,
128 ibxeCannotOpenNonSQLSelect,
129 ibxeNoFieldAccess,
130 ibxeFieldReadOnly,
131 ibxeFieldNotFound,
132 ibxeNotEditing,
133 ibxeCannotInsert,
134 ibxeCannotPost,
135 ibxeCannotUpdate,
136 ibxeCannotDelete,
137 ibxeCannotRefresh,
138 ibxeBufferNotSet,
139 ibxeCircularReference,
140 ibxeSQLParseError,
141 ibxeUserAbort,
142 ibxeDataSetUniDirectional,
143 ibxeCannotCreateSharedResource,
144 ibxeWindowsAPIError,
145 ibxeColumnListsDontMatch,
146 ibxeColumnTypesDontMatch,
147 ibxeCantEndSharedTransaction,
148 ibxeFieldUnsupportedType,
149 ibxeCircularDataLink,
150 ibxeEmptySQLStatement,
151 ibxeIsASelectStatement,
152 ibxeRequiredParamNotSet,
153 ibxeNoStoredProcName,
154 ibxeIsAExecuteProcedure,
155 ibxeUpdateFailed,
156 ibxeNotCachedUpdates,
157 ibxeNotLiveRequest,
158 ibxeNoProvider,
159 ibxeNoRecordsAffected,
160 ibxeNoTableName,
161 ibxeCannotCreatePrimaryIndex,
162 ibxeCannotDropSystemIndex,
163 ibxeTableNameMismatch,
164 ibxeIndexFieldMissing,
165 ibxeInvalidCancellation,
166 ibxeInvalidEvent,
167 ibxeMaximumEvents,
168 ibxeNoEventsRegistered,
169 ibxeInvalidQueueing,
170 ibxeInvalidRegistration,
171 ibxeInvalidBatchMove,
172 ibxeSQLDialectInvalid,
173 ibxeSPBConstantNotSupported,
174 ibxeSPBConstantUnknown,
175 ibxeServiceActive,
176 ibxeServiceInActive,
177 ibxeServerNameMissing,
178 ibxeQueryParamsError,
179 ibxeStartParamsError,
180 ibxeOutputParsingError,
181 ibxeUseSpecificProcedures,
182 ibxeSQLMonitorAlreadyPresent,
183 ibxeCantPrintValue,
184 ibxeEOFReached,
185 ibxeEOFInComment,
186 ibxeEOFInString,
187 ibxeParamNameExpected,
188 ibxeSuccess,
189 ibxeDelphiException,
190 ibxeNoOptionsSet,
191 ibxeNoDestinationDirectory,
192 ibxeNosourceDirectory,
193 ibxeNoUninstallFile,
194 ibxeOptionNeedsClient,
195 ibxeOptionNeedsServer,
196 ibxeInvalidOption,
197 ibxeInvalidOnErrorResult,
198 ibxeInvalidOnStatusResult,
199 ibxeDPBConstantUnknownEx,
200 ibxeTPBConstantUnknownEx,
201 ibxeSV5APIError,
202 ibxeThreadFailed,
203 ibxeFieldSizeError,
204 ibxeTransactionNotEnding,
205 ibxeDscInfoTokenMissing,
206 ibxeNoLoginDialog,
207 ibxeEmptyAttachmentsList,
208 ibxeFirebirdLibraryLoaded,
209 ibxeInfoBufferIndexError,
210 ibxeInfoBufferTypeError,
211 ibxeInfoBufferOverflow,
212 ibxServiceRequestIndexError,
213 ibxServiceParamTypeError,
214 ibxeOutputBlockIndexError,
215 ibxeOutputBlockTypeError,
216 ibxePBIndexError,
217 ibxePBParamTypeError,
218 ibxeDuplicateParamName,
219 ibxeInvalidArrayDimensions,
220 ibxeNotAMultiDatabaseTransaction,
221 ibxeAttachmentListIndexError,
222 ibxeNotAnArray,
223 ibxeNotABlob,
224 ibxeInvalidSubscript,
225 ibxeArrayElementOverFlow,
226 ibxArrayBoundsCantIncrease ,
227 ibxeStatementNotPrepared,
228 ibxeInterfaceOutofDate,
229 ibxeUnexpectedDatabaseInfoResp,
230 ibxeInvalidBlobMetaData,
231 ibxeNoDPB,
232 ibxeInEventWait,
233 ibxeIncompatibleBlob,
234 ibxeMissingColumnName,
235 ibxStringTooLong,
236 ibxFieldNotinDataSet,
237 ibxeNotCurrentArray,
238 ibxeNoDefaultCharacterSet,
239 ibxeParamBufferOverflow,
240 ibxeInvalidParamCount,
241 ibxeInvalidVariantType,
242 ibxeServiceRunning,
243 ibxeUniqueRelationReqd,
244 ibxeInterfaceNotSupported,
245 ibxeCharacterSetExists,
246 ibxeUnknownUserCharSet,
247 ibxeUninitializedInputParameter,
248 ibxeNegativeGenerator,
249 ibxeServiceUnavailable,
250 ibxeBadConnectString,
251 ibxeServiceNotStarted,
252 ibxeNotRequiredDataSetSource,
253 ibxeNoLimboTransactionInsert,
254 ibxeDatabaseNotConnected,
255 ibxeMultiThreadRequired,
256 ibxeODSVersionRequired,
257 ibxeTokenQueueOverflow,
258 ibxeTokenQueueUnderflow,
259 ibxErrorParsing,
260 ibxeDLInfoError,
261 ibxeDifferentAPIs
262 );
263
264 function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
265
266 resourcestring
267 { generic strings used in code }
268 SEOFReached = 'SEOFReached';
269 SEOFInComment = 'EOF in comment detected';
270 SEOFInString = 'EOF in string detected';
271 SParamNameExpected = 'Parameter name expected';
272 SCantPrintValue = 'Cannot print value';
273 SSuccess = 'Successful execution';
274 SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
275 SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
276 sSQLErrorSeparator = ' When Executing: ';
277 SNoDataSet = 'No dataset association';
278 SSQLGenSelect = 'Must select at least one key field and one update field';
279 SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
280 SSQLDataSetOpen = 'Unable to determine field names for %s';
281 SDefaultTransaction = '%s, Default';
282 SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
283 SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
284 {$IFDEF WINDOWS}
285 SLibraryNameFilter = 'DLLs (*.dll)|*.dll|All files (*.*)|*.*';
286 {$ELSE}
287 SLibraryNameFilter = 'All files (*.*)|*.*';
288 {$ENDIF}
289 STrue = 'true';
290 SFalse = 'false';
291 SArray = '(array)';
292 SBlob = '(blob)';
293
294 implementation
295
296 uses IBUtils;
297
298 resourcestring
299
300 { strings used in error messages}
301 SUnknownError = 'Unknown error';
302 SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
303 SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
304 SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
305 SNotSupported = 'Unsupported feature';
306 SNotPermitted = 'Not permitted';
307 SFileAccessError = 'Temporary file access error';
308 SConnectionTimeout = 'Database connection timed out';
309 SCannotSetDatabase = 'Cannot set database';
310 SCannotSetTransaction = 'Cannot set transaction';
311 SOperationCancelled = 'Operation cancelled at user''s request';
312 SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
313 SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
314 STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
315 STPBConstantUnknown = 'TPB Constant (%d) is unknown';
316 SDatabaseClosed = 'Cannot perform operation -- DB is not open';
317 SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
318 SDatabaseNameMissing = 'Database name is missing';
319 SNotInTransaction = 'Transaction is not active';
320 SInTransaction = 'Transaction is active';
321 STimeoutNegative = 'Timeout values cannot be negative';
322 SNoDatabasesInTransaction = 'No databases are listed in transaction component';
323 SUpdateWrongDB = 'Updating wrong database';
324 SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
325 SDatabaseNotAssigned = 'Database not assigned';
326 STransactionNotAssigned = 'Transaction not assigned';
327 SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
328 SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
329 SEOF = 'End of file';
330 SBOF = 'Beginning of file';
331 SInvalidStatementHandle = 'Invalid statement handle';
332 SSQLOpen = 'IBSQL Open';
333 SSQLClosed = 'IBSQL Closed';
334 SDatasetOpen = 'Dataset open';
335 SDatasetClosed = 'Dataset closed';
336 SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
337 SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
338 SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
339 SInvalidDataConversion = 'Invalid data conversion';
340 SColumnIsNotNullable = 'Column cannot be set to null (%s)';
341 SBlobCannotBeRead = 'Blob stream cannot be read';
342 SBlobCannotBeWritten = 'Blob stream cannot be written';
343 SBlobNotOpen = 'The Blob is not open';
344 SEmptyQuery = 'Empty query';
345 SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
346 SNoFieldAccess = 'No access to field "%s"';
347 SFieldReadOnly = 'Field "%s" is read-only';
348 SFieldNotFound = 'Field "%s" not found';
349 SNotEditing = 'Not in edit mode';
350 SCannotInsert = 'Cannot insert into dataset. (No insert query)';
351 SCannotPost = 'Cannot post. (No update/insert query)';
352 SCannotUpdate = 'Cannot update. (No update query)';
353 SCannotDelete = 'Cannot delete from dataset. (No delete query)';
354 SCannotRefresh = 'Cannot refresh row. (No refresh query)';
355 SBufferNotSet = 'Buffer not set';
356 SCircularReference = 'Circular references not permitted';
357 SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
358 SUserAbort = 'User abort';
359 SDataSetUniDirectional = 'Data set is uni-directional';
360 {$IFDEF UNIX}
361 SCannotCreateSharedResource = 'Cannot create shared resource. %s';
362 {$ELSE}
363 SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
364 {$ENDIF}
365 SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
366 SColumnListsDontMatch = 'Column lists do not match';
367 SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
368 SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
369 'to the transaction''s TimeoutAction';
370 SFieldUnsupportedType = 'Unsupported Field Type';
371 SCircularDataLink = 'Circular DataLink Reference';
372 SEmptySQLStatement = 'Empty SQL Statement';
373 SIsASelectStatement = 'use Open for a Select Statement';
374 SRequiredParamNotSet = 'Required parameter "%s" value not set';
375 SNoStoredProcName = 'No Stored Procedure Name assigned';
376 SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
377 SUpdateFailed = 'Update Failed';
378 SNotCachedUpdates = 'CachedUpdates not enabled';
379 SNotLiveRequest = 'Request is not live - cannot modify';
380 SNoProvider = 'No Provider';
381 SNoRecordsAffected = 'No Records Affected';
382 SNoTableName = 'No Table Name assigned';
383 SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
384 SCannotDropSystemIndex = 'Cannot Drop System Index';
385 STableNameMismatch = 'Table Name Mismatch';
386 SIndexFieldMissing = 'Index Field Missing';
387 SInvalidCancellation = 'Cannot Cancel events while processing';
388 SInvalidEvent = 'Invalid Event';
389 SMaximumEvents = 'Exceded Maximum Event limits';
390 SNoEventsRegistered = 'No Events Registered';
391 SInvalidQueueing = 'Invalid Queueing';
392 SInvalidRegistration = 'Invalid Registration';
393 SInvalidBatchMove = 'Invalid Batch Move';
394 SSQLDialectInvalid = 'SQL Dialect Invalid';
395 SSPBConstantNotSupported = 'SPB Constant Not supported';
396 SSPBConstantUnknown = 'SPB Constant Unknown';
397 SServiceActive = 'Cannot perform operation -- service is not attached';
398 SServiceInActive = 'Cannot perform operation -- service is attached';
399 SServerNameMissing = 'Server Name Missing';
400 SQueryParamsError = 'Query Parameters missing or incorrect';
401 SStartParamsError = 'start Parameters missing or incorrect';
402 SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
403 SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
404 SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
405 SDelphiException = 'DelphiException %s';
406 SNoOptionsSet = 'No Install Options selected';
407 SNoDestinationDirectory = 'DestinationDirectory is not set';
408 SNosourceDirectory = 'SourceDirectory is not set';
409 SNoUninstallFile = 'Uninstall File Name is not set';
410 SOptionNeedsClient = '%s component requires Client to function properly';
411 SOptionNeedsServer = '%s component requires Server to function properly';
412 SInvalidOption = 'Invalid option specified';
413 SInvalidOnErrorResult = 'Unexpected onError return value';
414 SInvalidOnStatusResult = 'Unexpected onStatus return value';
415
416 SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
417 STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
418 SSV5APIError = 'SV5 API API Error - %s';
419 SThreadFailed = '%s Thread failed with Exception: %s';
420 sFieldSizeError = 'Field %s is too small to receive the data';
421 STransactionNotEnding = 'Transaction is not being completed';
422 SDscInfoTokenMissing = '%s token not found';
423 SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
424 'in your program uses list?';
425 SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
426 SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
427 SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
428 SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
429 SInfoBufferOverflow = 'Info Buffer overlow';
430 SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
431 SServiceParamTypeError = 'Invalid Request for Service Param Type';
432 SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
433 SOutputBlockTypeError = 'Invalid Request for Output Block Type';
434 SPBIndexError = 'DPB Index out of range (%d)';
435 SPBParamTypeError = 'Invalid Request for DPB Param Type';
436 SDuplicateParamName = 'Blob or array parameter name must be unique (%s)';
437 SInvalidArrayDimensions = 'Invalid number of array dimensions (%d)';
438 SNotAMultiDatabaseTransaction = 'This is not a multi-database transaction';
439 SAttachmentListIndexError = 'Attachment List index out of range (%d)';
440 SNotAnArray = 'Table Column must be an array';
441 SNotABlob = 'Table Column must be a Blob';
442 SInvalidSubscript = 'Invalid Subscript (%d) for Array Dimension %d';
443 SArrayElementOverFlow = 'Array Element too big';
444 SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
445 SStatementNotPrepared = 'The Statement has not been prepared';
446 SInterfaceOutofDate = 'This interface is no longer up-to-date';
447 SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
448 SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
449 SNoDPB = 'A DPB must be provided';
450 SInEventWait = 'Already in Event Wait State';
451 SIncompatibleBlob = 'Incompatible Blob SubTypes. %d expected, %d found';
452 SMissingColumnName = 'Relation or Column Name Missing';
453 SStringTooLong = 'String "%s" is too long. Max %d characters';
454 SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
455 SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
456 SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
457 SParamBufferOverflow = 'Parameter Buffer Overflow';
458 SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
459 SInvalidVariantType = 'Invalid variant type';
460 SServiceRunning = 'Cannot start a new service while an existing service is running';
461 SUniqueRelationReqd = 'All Output Fields must derived from the same table';
462 SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
463 SCharacterSetExists = 'Character set "%s" is already defined';
464 SUnknownUserCharSet = 'Unknown user character set "%s"';
465 SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
466 SNegativeGenerator = 'A Generator Increment cannot be negative';
467 SServiceUnavailable = 'Request Service is not available';
468 SBadConnectString = 'Parse Error in Connect String';
469 SServiceNotStarted = 'Cannot Query running service until the service has been started';
470 SNotRequiredDataSetSource = 'Object of class %s is not a valid dataset source';
471 SNoLimboTransactionInsert = 'You cannot add to a Limbo Transaction list';
472 SDatabaseNotConnected = 'Cannot connect using an unattached database';
473 SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
474 'Hint: you probably need to add -dUseCThreads to the Custom Options.';
475 SODSVersionRequired = 'This feature requires ODS Version %s or later';
476 STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
477 STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
478 SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
479 SDLInfoError = 'dlinfo returned error - %s';
480 SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
481
482 const
483 IBErrorMessages: array[TIBClientError] of string = (
484 SUnknownError,
485 SInterBaseMissing,
486 SInterBaseInstallMissing,
487 SIB60feature,
488 SNotSupported,
489 SNotPermitted,
490 SFileAccessError,
491 SConnectionTimeout,
492 SCannotSetDatabase,
493 SCannotSetTransaction,
494 SOperationCancelled,
495 SDPBConstantNotSupported,
496 SDPBConstantUnknown,
497 STPBConstantNotSupported,
498 STPBConstantUnknown,
499 SDatabaseClosed,
500 SDatabaseOpen,
501 SDatabaseNameMissing,
502 SNotInTransaction,
503 SInTransaction,
504 STimeoutNegative,
505 SNoDatabasesInTransaction,
506 SUpdateWrongDB,
507 SUpdateWrongTR,
508 SDatabaseNotAssigned,
509 STransactionNotAssigned,
510 SXSQLDAIndexOutOfRange,
511 SXSQLDANameDoesNotExist,
512 SEOF,
513 SBOF,
514 SInvalidStatementHandle,
515 SSQLOpen,
516 SSQLClosed,
517 SDatasetOpen,
518 SDatasetClosed,
519 SUnknownSQLDataType,
520 SInvalidColumnIndex,
521 SInvalidParamColumnIndex,
522 SInvalidDataConversion,
523 SColumnIsNotNullable,
524 SBlobCannotBeRead,
525 SBlobCannotBeWritten,
526 SBlobNotOpen,
527 SEmptyQuery,
528 SCannotOpenNonSQLSelect,
529 SNoFieldAccess,
530 SFieldReadOnly,
531 SFieldNotFound,
532 SNotEditing,
533 SCannotInsert,
534 SCannotPost,
535 SCannotUpdate,
536 SCannotDelete,
537 SCannotRefresh,
538 SBufferNotSet,
539 SCircularReference,
540 SSQLParseError,
541 SUserAbort,
542 SDataSetUniDirectional,
543 SCannotCreateSharedResource,
544 SWindowsAPIError,
545 SColumnListsDontMatch,
546 SColumnTypesDontMatch,
547 SCantEndSharedTransaction,
548 SFieldUnsupportedType,
549 SCircularDataLink,
550 SEmptySQLStatement,
551 SIsASelectStatement,
552 SRequiredParamNotSet,
553 SNoStoredProcName,
554 SIsAExecuteProcedure,
555 SUpdateFailed,
556 SNotCachedUpdates,
557 SNotLiveRequest,
558 SNoProvider,
559 SNoRecordsAffected,
560 SNoTableName,
561 SCannotCreatePrimaryIndex,
562 SCannotDropSystemIndex,
563 STableNameMismatch,
564 SIndexFieldMissing,
565 SInvalidCancellation,
566 SInvalidEvent,
567 SMaximumEvents,
568 SNoEventsRegistered,
569 SInvalidQueueing,
570 SInvalidRegistration,
571 SInvalidBatchMove,
572 SSQLDialectInvalid,
573 SSPBConstantNotSupported,
574 SSPBConstantUnknown,
575 SServiceActive,
576 SServiceInActive,
577 SServerNameMissing,
578 SQueryParamsError,
579 SStartParamsError,
580 SOutputParsingError,
581 SUseSpecificProcedures,
582 SSQLMonitorAlreadyPresent,
583 SCantPrintValue,
584 SEOFReached,
585 SEOFInComment,
586 SEOFInString,
587 SParamNameExpected,
588 SSuccess,
589 SDelphiException,
590 SNoOptionsSet,
591 SNoDestinationDirectory,
592 SNosourceDirectory,
593 SNoUninstallFile,
594 SOptionNeedsClient,
595 SOptionNeedsServer,
596 SInvalidOption,
597 SInvalidOnErrorResult,
598 SInvalidOnStatusResult,
599 SDPBConstantUnknownEx,
600 STPBConstantUnknownEx,
601 SSV5APIError,
602 SThreadFailed,
603 SFieldSizeError,
604 STransactionNotEnding,
605 SDscInfoTokenMissing,
606 SNoLoginDialog,
607 SEmptyAttachmentsList,
608 SFirebirdLibraryLoaded,
609 SInfoBufferIndexError,
610 SInfoBufferTypeError,
611 SInfoBufferOverflow,
612 SServiceRequestIndexError,
613 SServiceParamTypeError,
614 SOutputBlockIndexError,
615 SOutputBlockTypeError,
616 SPBIndexError,
617 SPBParamTypeError,
618 SDuplicateParamName,
619 SInvalidArrayDimensions,
620 SNotAMultiDatabaseTransaction,
621 SAttachmentListIndexError,
622 SNotAnArray,
623 SNotABlob,
624 SInvalidSubscript,
625 SArrayElementOverFlow,
626 SArrayBoundsCantIncrease,
627 SStatementNotPrepared,
628 SInterfaceOutofDate,
629 SUnexpectedDatabaseInfoResp,
630 SInvalidBlobMetaData,
631 SNoDPB,
632 SInEventWait,
633 SIncompatibleBlob,
634 SMissingColumnName,
635 SStringTooLong,
636 SFieldNotinDataSet,
637 SNotCurrentArray,
638 SNoDefaultCharacterSet,
639 SParamBufferOverflow,
640 SInvalidParamCount,
641 SInvalidVariantType,
642 SServiceRunning,
643 SUniqueRelationReqd,
644 SInterfaceNotSupported,
645 SCharacterSetExists,
646 SUnknownUserCharSet,
647 SUninitializedInputParameter,
648 SNegativeGenerator,
649 SServiceUnavailable,
650 SBadConnectString,
651 SServiceNotStarted,
652 SNotRequiredDataSetSource,
653 SNoLimboTransactionInsert,
654 SDatabaseNotConnected,
655 SMultiThreadRequired,
656 SODSVersionRequired,
657 STokenQueueOverflow,
658 STokenQueueUnderflow,
659 SErrorParsing,
660 SDLInfoError,
661 SDifferentAPIs
662 );
663
664 function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
665 begin
666 Result := IBErrorMessages[ErrMess];
667 end;
668
669 end.
670