ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/FBMessages.pas
Revision: 270
Committed: Fri Jan 18 11:10:37 2019 UTC (5 years, 10 months ago) by tony
Content type: text/x-pascal
File size: 25871 byte(s)
Log Message:
Fixes merged

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 ibxeParameterNameNotFound
263 );
264
265 function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
266
267 resourcestring
268 { generic strings used in code }
269 SEOFReached = 'SEOFReached';
270 SEOFInComment = 'EOF in comment detected';
271 SEOFInString = 'EOF in string detected';
272 SParamNameExpected = 'Parameter name expected';
273 SCantPrintValue = 'Cannot print value';
274 SSuccess = 'Successful execution';
275 SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
276 SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
277 sSQLErrorSeparator = ' When Executing: ';
278 SNoDataSet = 'No dataset association';
279 SSQLGenSelect = 'Must select at least one key field and one update field';
280 SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
281 SSQLDataSetOpen = 'Unable to determine field names for %s';
282 SDefaultTransaction = '%s, Default';
283 SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
284 SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
285 {$IFDEF WINDOWS}
286 SLibraryNameFilter = 'DLLs (*.dll)|*.dll|All files (*.*)|*.*';
287 {$ELSE}
288 SLibraryNameFilter = 'All files (*.*)|*.*';
289 {$ENDIF}
290 STrue = 'true';
291 SFalse = 'false';
292 SArray = '(array)';
293 SBlob = '(blob)';
294
295 implementation
296
297 uses IBUtils;
298
299 resourcestring
300
301 { strings used in error messages}
302 SUnknownError = 'Unknown error';
303 SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
304 SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
305 SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
306 SNotSupported = 'Unsupported feature';
307 SNotPermitted = 'Not permitted';
308 SFileAccessError = 'Temporary file access error';
309 SConnectionTimeout = 'Database connection timed out';
310 SCannotSetDatabase = 'Cannot set database';
311 SCannotSetTransaction = 'Cannot set transaction';
312 SOperationCancelled = 'Operation cancelled at user''s request';
313 SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
314 SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
315 STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
316 STPBConstantUnknown = 'TPB Constant (%d) is unknown';
317 SDatabaseClosed = 'Cannot perform operation -- DB is not open';
318 SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
319 SDatabaseNameMissing = 'Database name is missing';
320 SNotInTransaction = 'Transaction is not active';
321 SInTransaction = 'Transaction is active';
322 STimeoutNegative = 'Timeout values cannot be negative';
323 SNoDatabasesInTransaction = 'No databases are listed in transaction component';
324 SUpdateWrongDB = 'Updating wrong database';
325 SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
326 SDatabaseNotAssigned = 'Database not assigned';
327 STransactionNotAssigned = 'Transaction not assigned';
328 SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
329 SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
330 SEOF = 'End of file';
331 SBOF = 'Beginning of file';
332 SInvalidStatementHandle = 'Invalid statement handle';
333 SSQLOpen = 'IBSQL Open';
334 SSQLClosed = 'IBSQL Closed';
335 SDatasetOpen = 'Dataset open';
336 SDatasetClosed = 'Dataset closed';
337 SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
338 SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
339 SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
340 SInvalidDataConversion = 'Invalid data conversion';
341 SColumnIsNotNullable = 'Column cannot be set to null (%s)';
342 SBlobCannotBeRead = 'Blob stream cannot be read';
343 SBlobCannotBeWritten = 'Blob stream cannot be written';
344 SBlobNotOpen = 'The Blob is not open';
345 SEmptyQuery = 'Empty query';
346 SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
347 SNoFieldAccess = 'No access to field "%s"';
348 SFieldReadOnly = 'Field "%s" is read-only';
349 SFieldNotFound = 'Field "%s" not found';
350 SNotEditing = 'Not in edit mode';
351 SCannotInsert = 'Cannot insert into dataset. (No insert query)';
352 SCannotPost = 'Cannot post. (No update/insert query)';
353 SCannotUpdate = 'Cannot update. (No update query)';
354 SCannotDelete = 'Cannot delete from dataset. (No delete query)';
355 SCannotRefresh = 'Cannot refresh row. (No refresh query)';
356 SBufferNotSet = 'Buffer not set';
357 SCircularReference = 'Circular references not permitted';
358 SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
359 SUserAbort = 'User abort';
360 SDataSetUniDirectional = 'Data set is uni-directional';
361 {$IFDEF UNIX}
362 SCannotCreateSharedResource = 'Cannot create shared resource. %s';
363 {$ELSE}
364 SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
365 {$ENDIF}
366 SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
367 SColumnListsDontMatch = 'Column lists do not match';
368 SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
369 SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
370 'to the transaction''s TimeoutAction';
371 SFieldUnsupportedType = 'Unsupported Field Type';
372 SCircularDataLink = 'Circular DataLink Reference';
373 SEmptySQLStatement = 'Empty SQL Statement';
374 SIsASelectStatement = 'use Open for a Select Statement';
375 SRequiredParamNotSet = 'Required parameter "%s" value not set';
376 SNoStoredProcName = 'No Stored Procedure Name assigned';
377 SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
378 SUpdateFailed = 'Update Failed';
379 SNotCachedUpdates = 'CachedUpdates not enabled';
380 SNotLiveRequest = 'Request is not live - cannot modify';
381 SNoProvider = 'No Provider';
382 SNoRecordsAffected = 'No Records Affected';
383 SNoTableName = 'No Table Name assigned';
384 SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
385 SCannotDropSystemIndex = 'Cannot Drop System Index';
386 STableNameMismatch = 'Table Name Mismatch';
387 SIndexFieldMissing = 'Index Field Missing';
388 SInvalidCancellation = 'Cannot Cancel events while processing';
389 SInvalidEvent = 'Invalid Event';
390 SMaximumEvents = 'Exceded Maximum Event limits';
391 SNoEventsRegistered = 'No Events Registered';
392 SInvalidQueueing = 'Invalid Queueing';
393 SInvalidRegistration = 'Invalid Registration';
394 SInvalidBatchMove = 'Invalid Batch Move';
395 SSQLDialectInvalid = 'SQL Dialect Invalid';
396 SSPBConstantNotSupported = 'SPB Constant Not supported';
397 SSPBConstantUnknown = 'SPB Constant Unknown';
398 SServiceActive = 'Cannot perform operation -- service is not attached';
399 SServiceInActive = 'Cannot perform operation -- service is attached';
400 SServerNameMissing = 'Server Name Missing';
401 SQueryParamsError = 'Query Parameters missing or incorrect';
402 SStartParamsError = 'start Parameters missing or incorrect';
403 SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
404 SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
405 SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
406 SDelphiException = 'DelphiException %s';
407 SNoOptionsSet = 'No Install Options selected';
408 SNoDestinationDirectory = 'DestinationDirectory is not set';
409 SNosourceDirectory = 'SourceDirectory is not set';
410 SNoUninstallFile = 'Uninstall File Name is not set';
411 SOptionNeedsClient = '%s component requires Client to function properly';
412 SOptionNeedsServer = '%s component requires Server to function properly';
413 SInvalidOption = 'Invalid option specified';
414 SInvalidOnErrorResult = 'Unexpected onError return value';
415 SInvalidOnStatusResult = 'Unexpected onStatus return value';
416
417 SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
418 STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
419 SSV5APIError = 'SV5 API API Error - %s';
420 SThreadFailed = '%s Thread failed with Exception: %s';
421 sFieldSizeError = 'Field %s is too small to receive the data';
422 STransactionNotEnding = 'Transaction is not being completed';
423 SDscInfoTokenMissing = '%s token not found';
424 SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
425 'in your program uses list?';
426 SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
427 SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
428 SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
429 SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
430 SInfoBufferOverflow = 'Info Buffer overlow';
431 SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
432 SServiceParamTypeError = 'Invalid Request for Service Param Type';
433 SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
434 SOutputBlockTypeError = 'Invalid Request for Output Block Type';
435 SPBIndexError = 'DPB Index out of range (%d)';
436 SPBParamTypeError = 'Invalid Request for DPB Param Type';
437 SDuplicateParamName = 'Blob or array parameter name must be unique (%s)';
438 SInvalidArrayDimensions = 'Invalid number of array dimensions (%d)';
439 SNotAMultiDatabaseTransaction = 'This is not a multi-database transaction';
440 SAttachmentListIndexError = 'Attachment List index out of range (%d)';
441 SNotAnArray = 'Table Column must be an array';
442 SNotABlob = 'Table Column must be a Blob';
443 SInvalidSubscript = 'Invalid Subscript (%d) for Array Dimension %d';
444 SArrayElementOverFlow = 'Array Element too big';
445 SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
446 SStatementNotPrepared = 'The Statement has not been prepared';
447 SInterfaceOutofDate = 'This interface is no longer up-to-date';
448 SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
449 SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
450 SNoDPB = 'A DPB must be provided';
451 SInEventWait = 'Already in Event Wait State';
452 SIncompatibleBlob = 'Incompatible Blob SubTypes. %d expected, %d found';
453 SMissingColumnName = 'Relation or Column Name Missing';
454 SStringTooLong = 'String "%s" is too long. Max %d characters';
455 SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
456 SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
457 SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
458 SParamBufferOverflow = 'Parameter Buffer Overflow';
459 SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
460 SInvalidVariantType = 'Invalid variant type';
461 SServiceRunning = 'Cannot start a new service while an existing service is running';
462 SUniqueRelationReqd = 'All Output Fields must derived from the same table';
463 SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
464 SCharacterSetExists = 'Character set "%s" is already defined';
465 SUnknownUserCharSet = 'Unknown user character set "%s"';
466 SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
467 SNegativeGenerator = 'A Generator Increment cannot be negative';
468 SServiceUnavailable = 'Request Service is not available';
469 SBadConnectString = 'Parse Error in Connect String';
470 SServiceNotStarted = 'Cannot Query running service until the service has been started';
471 SNotRequiredDataSetSource = 'Object of class %s is not a valid dataset source';
472 SNoLimboTransactionInsert = 'You cannot add to a Limbo Transaction list';
473 SDatabaseNotConnected = 'Cannot connect using an unattached database';
474 SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
475 'Hint: you probably need to add -dUseCThreads to the Custom Options.';
476 SODSVersionRequired = 'This feature requires ODS Version %s or later';
477 STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
478 STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
479 SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
480 SDLInfoError = 'dlinfo returned error - %s';
481 SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
482 SParameterNameNotFound = 'Parameter Name (%s) not found';
483
484 const
485 IBErrorMessages: array[TIBClientError] of string = (
486 SUnknownError,
487 SInterBaseMissing,
488 SInterBaseInstallMissing,
489 SIB60feature,
490 SNotSupported,
491 SNotPermitted,
492 SFileAccessError,
493 SConnectionTimeout,
494 SCannotSetDatabase,
495 SCannotSetTransaction,
496 SOperationCancelled,
497 SDPBConstantNotSupported,
498 SDPBConstantUnknown,
499 STPBConstantNotSupported,
500 STPBConstantUnknown,
501 SDatabaseClosed,
502 SDatabaseOpen,
503 SDatabaseNameMissing,
504 SNotInTransaction,
505 SInTransaction,
506 STimeoutNegative,
507 SNoDatabasesInTransaction,
508 SUpdateWrongDB,
509 SUpdateWrongTR,
510 SDatabaseNotAssigned,
511 STransactionNotAssigned,
512 SXSQLDAIndexOutOfRange,
513 SXSQLDANameDoesNotExist,
514 SEOF,
515 SBOF,
516 SInvalidStatementHandle,
517 SSQLOpen,
518 SSQLClosed,
519 SDatasetOpen,
520 SDatasetClosed,
521 SUnknownSQLDataType,
522 SInvalidColumnIndex,
523 SInvalidParamColumnIndex,
524 SInvalidDataConversion,
525 SColumnIsNotNullable,
526 SBlobCannotBeRead,
527 SBlobCannotBeWritten,
528 SBlobNotOpen,
529 SEmptyQuery,
530 SCannotOpenNonSQLSelect,
531 SNoFieldAccess,
532 SFieldReadOnly,
533 SFieldNotFound,
534 SNotEditing,
535 SCannotInsert,
536 SCannotPost,
537 SCannotUpdate,
538 SCannotDelete,
539 SCannotRefresh,
540 SBufferNotSet,
541 SCircularReference,
542 SSQLParseError,
543 SUserAbort,
544 SDataSetUniDirectional,
545 SCannotCreateSharedResource,
546 SWindowsAPIError,
547 SColumnListsDontMatch,
548 SColumnTypesDontMatch,
549 SCantEndSharedTransaction,
550 SFieldUnsupportedType,
551 SCircularDataLink,
552 SEmptySQLStatement,
553 SIsASelectStatement,
554 SRequiredParamNotSet,
555 SNoStoredProcName,
556 SIsAExecuteProcedure,
557 SUpdateFailed,
558 SNotCachedUpdates,
559 SNotLiveRequest,
560 SNoProvider,
561 SNoRecordsAffected,
562 SNoTableName,
563 SCannotCreatePrimaryIndex,
564 SCannotDropSystemIndex,
565 STableNameMismatch,
566 SIndexFieldMissing,
567 SInvalidCancellation,
568 SInvalidEvent,
569 SMaximumEvents,
570 SNoEventsRegistered,
571 SInvalidQueueing,
572 SInvalidRegistration,
573 SInvalidBatchMove,
574 SSQLDialectInvalid,
575 SSPBConstantNotSupported,
576 SSPBConstantUnknown,
577 SServiceActive,
578 SServiceInActive,
579 SServerNameMissing,
580 SQueryParamsError,
581 SStartParamsError,
582 SOutputParsingError,
583 SUseSpecificProcedures,
584 SSQLMonitorAlreadyPresent,
585 SCantPrintValue,
586 SEOFReached,
587 SEOFInComment,
588 SEOFInString,
589 SParamNameExpected,
590 SSuccess,
591 SDelphiException,
592 SNoOptionsSet,
593 SNoDestinationDirectory,
594 SNosourceDirectory,
595 SNoUninstallFile,
596 SOptionNeedsClient,
597 SOptionNeedsServer,
598 SInvalidOption,
599 SInvalidOnErrorResult,
600 SInvalidOnStatusResult,
601 SDPBConstantUnknownEx,
602 STPBConstantUnknownEx,
603 SSV5APIError,
604 SThreadFailed,
605 SFieldSizeError,
606 STransactionNotEnding,
607 SDscInfoTokenMissing,
608 SNoLoginDialog,
609 SEmptyAttachmentsList,
610 SFirebirdLibraryLoaded,
611 SInfoBufferIndexError,
612 SInfoBufferTypeError,
613 SInfoBufferOverflow,
614 SServiceRequestIndexError,
615 SServiceParamTypeError,
616 SOutputBlockIndexError,
617 SOutputBlockTypeError,
618 SPBIndexError,
619 SPBParamTypeError,
620 SDuplicateParamName,
621 SInvalidArrayDimensions,
622 SNotAMultiDatabaseTransaction,
623 SAttachmentListIndexError,
624 SNotAnArray,
625 SNotABlob,
626 SInvalidSubscript,
627 SArrayElementOverFlow,
628 SArrayBoundsCantIncrease,
629 SStatementNotPrepared,
630 SInterfaceOutofDate,
631 SUnexpectedDatabaseInfoResp,
632 SInvalidBlobMetaData,
633 SNoDPB,
634 SInEventWait,
635 SIncompatibleBlob,
636 SMissingColumnName,
637 SStringTooLong,
638 SFieldNotinDataSet,
639 SNotCurrentArray,
640 SNoDefaultCharacterSet,
641 SParamBufferOverflow,
642 SInvalidParamCount,
643 SInvalidVariantType,
644 SServiceRunning,
645 SUniqueRelationReqd,
646 SInterfaceNotSupported,
647 SCharacterSetExists,
648 SUnknownUserCharSet,
649 SUninitializedInputParameter,
650 SNegativeGenerator,
651 SServiceUnavailable,
652 SBadConnectString,
653 SServiceNotStarted,
654 SNotRequiredDataSetSource,
655 SNoLimboTransactionInsert,
656 SDatabaseNotConnected,
657 SMultiThreadRequired,
658 SODSVersionRequired,
659 STokenQueueOverflow,
660 STokenQueueUnderflow,
661 SErrorParsing,
662 SDLInfoError,
663 SDifferentAPIs,
664 SParameterNameNotFound
665 );
666
667 function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
668 begin
669 Result := IBErrorMessages[ErrMess];
670 end;
671
672 end.
673