ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/FBMessages.pas
(Generate patch)

Comparing:
ibx/trunk/fbintf/client/FBMessages.pas (file contents), Revision 221 by tony, Mon Mar 19 09:48:37 2018 UTC vs.
ibx/branches/udr/client/FBMessages.pas (file contents), Revision 371 by tony, Wed Jan 5 15:21:22 2022 UTC

# Line 60 | Line 60
60   {                                                                        }
61   {************************************************************************}
62   unit FBMessages;
63 < {$IFDEF MSWINDOWS}
64 < {$DEFINE WINDOWS}
63 > {$IFDEF MSWINDOWS}
64 > {$DEFINE WINDOWS}
65   {$ENDIF}
66  
67   {$IFDEF FPC}
# Line 75 | Line 75 | uses
75    Classes, SysUtils;
76  
77   type
78  TIBDataBaseErrorMessage    = (ShowSQLCode,
79                                  ShowIBMessage,
80                                  ShowSQLMessage);
81
82  TIBDataBaseErrorMessages   = set of TIBDataBaseErrorMessage;
78    TIBClientError            = (
84      ibxeUnknownError,
79        ibxeInterBaseMissing,
86      ibxeInterBaseInstallMissing,
80        ibxeIB60feature,
81        ibxeNotSupported,
82        ibxeNotPermitted,
90      ibxeFileAccessError,
91      ibxeConnectionTimeout,
92      ibxeCannotSetDatabase,
93      ibxeCannotSetTransaction,
94      ibxeOperationCancelled,
95      ibxeDPBConstantNotSupported,
96      ibxeDPBConstantUnknown,
97      ibxeTPBConstantNotSupported,
98      ibxeTPBConstantUnknown,
83        ibxeDatabaseClosed,
100      ibxeDatabaseOpen,
101      ibxeDatabaseNameMissing,
84        ibxeNotInTransaction,
103      ibxeInTransaction,
104      ibxeTimeoutNegative,
105      ibxeNoDatabasesInTransaction,
106      ibxeUpdateWrongDB,
107      ibxeUpdateWrongTR,
108      ibxeDatabaseNotAssigned,
85        ibxeTransactionNotAssigned,
110      ibxeXSQLDAIndexOutOfRange,
111      ibxeXSQLDANameDoesNotExist,
86        ibxeEOF,
87        ibxeBOF,
88        ibxeInvalidStatementHandle,
115      ibxeSQLOpen,
89        ibxeSQLClosed,
117      ibxeDatasetOpen,
118      ibxeDatasetClosed,
90        ibxeUnknownSQLDataType,
91        ibxeInvalidColumnIndex,
121      ibxeInvalidParamColumnIndex,
92        ibxeInvalidDataConversion,
123      ibxeColumnIsNotNullable,
93        ibxeBlobCannotBeRead,
94        ibxeBlobCannotBeWritten,
95        ibxeBlobNotOpen,
96        ibxeEmptyQuery,
128      ibxeCannotOpenNonSQLSelect,
129      ibxeNoFieldAccess,
130      ibxeFieldReadOnly,
97        ibxeFieldNotFound,
132      ibxeNotEditing,
133      ibxeCannotInsert,
134      ibxeCannotPost,
135      ibxeCannotUpdate,
136      ibxeCannotDelete,
137      ibxeCannotRefresh,
138      ibxeBufferNotSet,
139      ibxeCircularReference,
98        ibxeSQLParseError,
141      ibxeUserAbort,
142      ibxeDataSetUniDirectional,
143      ibxeCannotCreateSharedResource,
144      ibxeWindowsAPIError,
145      ibxeColumnListsDontMatch,
146      ibxeColumnTypesDontMatch,
147      ibxeCantEndSharedTransaction,
148      ibxeFieldUnsupportedType,
149      ibxeCircularDataLink,
150      ibxeEmptySQLStatement,
99        ibxeIsASelectStatement,
152      ibxeRequiredParamNotSet,
153      ibxeNoStoredProcName,
100        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,
101        ibxeMaximumEvents,
168      ibxeNoEventsRegistered,
169      ibxeInvalidQueueing,
170      ibxeInvalidRegistration,
171      ibxeInvalidBatchMove,
172      ibxeSQLDialectInvalid,
173      ibxeSPBConstantNotSupported,
174      ibxeSPBConstantUnknown,
102        ibxeServiceActive,
103        ibxeServiceInActive,
104        ibxeServerNameMissing,
178      ibxeQueryParamsError,
179      ibxeStartParamsError,
105        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,
106        ibxeEmptyAttachmentsList,
208      ibxeFirebirdLibraryLoaded,
209      ibxeInfoBufferIndexError,
107        ibxeInfoBufferTypeError,
211      ibxeInfoBufferOverflow,
108        ibxServiceRequestIndexError,
109        ibxServiceParamTypeError,
110        ibxeOutputBlockIndexError,
# Line 226 | Line 122 | type
122        ibxArrayBoundsCantIncrease ,
123        ibxeStatementNotPrepared,
124        ibxeInterfaceOutofDate,
229      ibxeUnexpectedDatabaseInfoResp,
125        ibxeInvalidBlobMetaData,
126        ibxeNoDPB,
127        ibxeInEventWait,
# Line 234 | Line 129 | type
129        ibxeMissingColumnName,
130        ibxStringTooLong,
131        ibxFieldNotinDataSet,
237      ibxeNotCurrentArray,
132        ibxeNoDefaultCharacterSet,
133        ibxeParamBufferOverflow,
134        ibxeInvalidParamCount,
135        ibxeInvalidVariantType,
242      ibxeServiceRunning,
243      ibxeUniqueRelationReqd,
136        ibxeInterfaceNotSupported,
137        ibxeCharacterSetExists,
138        ibxeUnknownUserCharSet,
139        ibxeUninitializedInputParameter,
248      ibxeNegativeGenerator,
249      ibxeServiceUnavailable,
250      ibxeBadConnectString,
251      ibxeServiceNotStarted,
252      ibxeNotRequiredDataSetSource,
253      ibxeNoLimboTransactionInsert,
254      ibxeDatabaseNotConnected,
140        ibxeMultiThreadRequired,
141 <      ibxeODSVersionRequired
141 >      ibxeTokenQueueOverflow,
142 >      ibxeTokenQueueUnderflow,
143 >      ibxErrorParsing,
144 >      ibxeDLInfoError,
145 >      ibxeDifferentAPIs,
146 >      ibxeInvalidDateTimeStr,
147 >      ibxeBadTimeZoneID,
148 >      ibxeBadBCDConversion,
149 >      ibxeBadTimeZoneName,
150 >      ibxeTimeZoneUnknown,
151 >      ibxeBadTimeSpecification,
152 >      ibxeBCDTooBig,
153 >      ibxeInvalidTimeZoneID,
154 >      ibxeBadTimestampOrNoTimeZoneDBEntry,
155 >      ibxeBCDOverflow,
156 >      ibxeNoTimezoneSupport,
157 >      ibxeDecFloatNotSupported,
158 >      ibxeInt128NotSupported,
159 >      ibxeUnknownParamTypeName,
160 >      ibxInvalidQueryAction,
161 >      ibxeSQLTypeUnchangeable,
162 >      ibxeCannotIncreaseMetadatasize,
163 >      ibxeBatchModeNotSupported,
164 >      ibxeNotInBatchMode,
165 >      ibxeInBatchMode,
166 >      ibxeInvalidBatchQuery,
167 >      ibxeBatchRowBufferOverflow,
168 >      ibxeBatchBufferSizeTooBig,
169 >      ibxeNoScrollableCursors,
170 >      ibxeUnableTosetaTextType,
171 >      ibxeCantDropAcquiredDB,
172 >      ibxeTransactionNotOwned,
173 >      ibxeIntegerOverflow,
174 >      ibxIntegerUnderflow,
175 >      ibxeScaleCannotBeChanged
176        );
177  
178   function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
179  
180 + {IBError is used internally and by IBX to throw an EIBClientError}
181 +
182 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
183 +
184   resourcestring
185    { generic strings used in code }
263  SEOFReached = 'SEOFReached';
264  SEOFInComment = 'EOF in comment detected';
265  SEOFInString = 'EOF in string detected';
186    SParamNameExpected = 'Parameter name expected';
267  SCantPrintValue = 'Cannot print value';
268  SSuccess = 'Successful execution';
269  SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
270  SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
187    sSQLErrorSeparator = ' When Executing: ';
272  SNoDataSet = 'No dataset association';
273  SSQLGenSelect = 'Must select at least one key field and one update field';
274  SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
275  SSQLDataSetOpen = 'Unable to determine field names for %s';
276  SDefaultTransaction = '%s, Default';
188    SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
278  SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
189    STrue = 'true';
190    SFalse = 'false';
191    SArray = '(array)';
192 <  SBlob = '(blob)';
192 >  SBatchCompletionError = 'Error Processing update/insert batch on row number %d - ';
193  
194   implementation
195  
196 < uses IBUtils;
196 > uses IBUtils, IB;
197  
198   resourcestring
199  
200   { strings used in error messages}
291  SUnknownError = 'Unknown error';
201    SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
293  SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
202    SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
203    SNotSupported = 'Unsupported feature';
204    SNotPermitted = 'Not permitted';
297  SFileAccessError = 'Temporary file access error';
298  SConnectionTimeout = 'Database connection timed out';
299  SCannotSetDatabase = 'Cannot set database';
300  SCannotSetTransaction = 'Cannot set transaction';
301  SOperationCancelled = 'Operation cancelled at user''s request';
302  SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
303  SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
304  STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
305  STPBConstantUnknown = 'TPB Constant (%d) is unknown';
205    SDatabaseClosed = 'Cannot perform operation -- DB is not open';
307  SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
308  SDatabaseNameMissing = 'Database name is missing';
206    SNotInTransaction = 'Transaction is not active';
310  SInTransaction = 'Transaction is active';
311  STimeoutNegative = 'Timeout values cannot be negative';
312  SNoDatabasesInTransaction = 'No databases are listed in transaction component';
313  SUpdateWrongDB = 'Updating wrong database';
314  SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
315  SDatabaseNotAssigned = 'Database not assigned';
207    STransactionNotAssigned = 'Transaction not assigned';
317  SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
318  SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
208    SEOF = 'End of file';
209    SBOF = 'Beginning of file';
210    SInvalidStatementHandle = 'Invalid statement handle';
322  SSQLOpen = 'IBSQL Open';
211    SSQLClosed = 'IBSQL Closed';
324  SDatasetOpen = 'Dataset open';
325  SDatasetClosed = 'Dataset closed';
212    SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
213    SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
214 <  SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
329 <  SInvalidDataConversion = 'Invalid data conversion';
330 <  SColumnIsNotNullable = 'Column cannot be set to null (%s)';
214 >  SInvalidDataConversion = 'Invalid data conversion from %s';
215    SBlobCannotBeRead = 'Blob stream cannot be read';
216    SBlobCannotBeWritten = 'Blob stream cannot be written';
217    SBlobNotOpen = 'The Blob is not open';
218    SEmptyQuery = 'Empty query';
335  SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
336  SNoFieldAccess = 'No access to field "%s"';
337  SFieldReadOnly = 'Field "%s" is read-only';
219    SFieldNotFound = 'Field "%s" not found';
339  SNotEditing = 'Not in edit mode';
340  SCannotInsert = 'Cannot insert into dataset. (No insert query)';
341  SCannotPost = 'Cannot post. (No update/insert query)';
342  SCannotUpdate = 'Cannot update. (No update query)';
343  SCannotDelete = 'Cannot delete from dataset. (No delete query)';
344  SCannotRefresh = 'Cannot refresh row. (No refresh query)';
345  SBufferNotSet = 'Buffer not set';
346  SCircularReference = 'Circular references not permitted';
220    SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
348  SUserAbort = 'User abort';
349  SDataSetUniDirectional = 'Data set is uni-directional';
350  {$IFDEF UNIX}
351  SCannotCreateSharedResource = 'Cannot create shared resource. %s';
352  {$ELSE}
353  SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
354  {$ENDIF}
355  SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
356  SColumnListsDontMatch = 'Column lists do not match';
357  SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
358  SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
359                             'to the transaction''s TimeoutAction';
360  SFieldUnsupportedType = 'Unsupported Field Type';
361  SCircularDataLink = 'Circular DataLink Reference';
362  SEmptySQLStatement = 'Empty SQL Statement';
221    SIsASelectStatement = 'use Open for a Select Statement';
364  SRequiredParamNotSet = 'Required parameter "%s" value not set';
365  SNoStoredProcName = 'No Stored Procedure Name assigned';
222    SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
367  SUpdateFailed = 'Update Failed';
368  SNotCachedUpdates = 'CachedUpdates not enabled';
369  SNotLiveRequest = 'Request is not live - cannot modify';
370  SNoProvider = 'No Provider';
371  SNoRecordsAffected = 'No Records Affected';
372  SNoTableName = 'No Table Name assigned';
373  SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
374  SCannotDropSystemIndex = 'Cannot Drop System Index';
375  STableNameMismatch = 'Table Name Mismatch';
376  SIndexFieldMissing = 'Index Field Missing';
377  SInvalidCancellation = 'Cannot Cancel events while processing';
378  SInvalidEvent = 'Invalid Event';
223    SMaximumEvents = 'Exceded Maximum Event limits';
380  SNoEventsRegistered = 'No Events Registered';
381  SInvalidQueueing = 'Invalid Queueing';
382  SInvalidRegistration = 'Invalid Registration';
383  SInvalidBatchMove = 'Invalid Batch Move';
384  SSQLDialectInvalid = 'SQL Dialect Invalid';
385  SSPBConstantNotSupported = 'SPB Constant Not supported';
386  SSPBConstantUnknown = 'SPB Constant Unknown';
224    SServiceActive = 'Cannot perform operation -- service is not attached';
225    SServiceInActive = 'Cannot perform operation -- service is attached';
226    SServerNameMissing = 'Server Name Missing';
390  SQueryParamsError = 'Query Parameters missing or incorrect';
391  SStartParamsError = 'start Parameters missing or incorrect';
227    SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
393  SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
394  SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
395  SDelphiException = 'DelphiException %s';
396  SNoOptionsSet = 'No Install Options selected';
397  SNoDestinationDirectory = 'DestinationDirectory is not set';
398  SNosourceDirectory = 'SourceDirectory is not set';
399  SNoUninstallFile = 'Uninstall File Name is not set';
400  SOptionNeedsClient = '%s component requires Client to function properly';
401  SOptionNeedsServer = '%s component requires Server to function properly';
402  SInvalidOption = 'Invalid option specified';
403  SInvalidOnErrorResult = 'Unexpected onError return value';
404  SInvalidOnStatusResult = 'Unexpected onStatus return value';
405
406  SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
407  STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
408  SSV5APIError = 'SV5 API API Error - %s';
409  SThreadFailed = '%s Thread failed with Exception: %s';
410  sFieldSizeError = 'Field %s is too small to receive the data';
411  STransactionNotEnding = 'Transaction is not being completed';
412  SDscInfoTokenMissing = '%s token not found';
413  SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
414                   'in your program uses list?';
228    SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
416  SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
417  SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
229    SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
419  SInfoBufferOverflow = 'Info Buffer overlow';
230    SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
231    SServiceParamTypeError = 'Invalid Request for Service Param Type';
232    SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
# Line 434 | Line 244 | resourcestring
244    SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
245    SStatementNotPrepared = 'The Statement has not been prepared';
246    SInterfaceOutofDate = 'This interface is no longer up-to-date';
437  SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
247    SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
248    SNoDPB = 'A DPB must be provided';
249    SInEventWait = 'Already in Event Wait State';
# Line 442 | Line 251 | resourcestring
251    SMissingColumnName = 'Relation or Column Name Missing';
252    SStringTooLong = 'String "%s" is too long. Max %d characters';
253    SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
445  SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
254    SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
255    SParamBufferOverflow = 'Parameter Buffer Overflow';
256    SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
257    SInvalidVariantType = 'Invalid variant type';
450  SServiceRunning = 'Cannot start a new service while an existing service is running';
451  SUniqueRelationReqd = 'All Output Fields must derived from the same table';
258    SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
259    SCharacterSetExists = 'Character set "%s" is already defined';
260    SUnknownUserCharSet = 'Unknown user character set "%s"';
261    SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
456  SNegativeGenerator = 'A Generator Increment cannot be negative';
457  SServiceUnavailable = 'Request Service is not available';
458  SBadConnectString = 'Parse Error in Connect String';
459  SServiceNotStarted = 'Cannot Query running service until the service has been started';
460  SNotRequiredDataSetSource = 'Object of class %s is not a valid dataset source';
461  SNoLimboTransactionInsert = 'You cannot add to a Limbo Transaction list';
462  SDatabaseNotConnected = 'Cannot connect using an unattached database';
262    SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
263                           'Hint: you probably need to add -dUseCThreads to the Custom Options.';
264 <  SODSVersionRequired = 'This feature requires ODS Version %s or later';
264 >  STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
265 >  STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
266 >  SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
267 >  SDLInfoError = 'dlinfo returned error - %s';
268 >  SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
269 >  SInvalidDateTimeStr = '%s is not a valid Date/Time string';
270 >  SBadTimeZoneID = 'Invalid Time Zone ID (%d,%d)';
271 >  SBadBCDConversion = 'Conversion to BCD failed';
272 >  SBadTimeZoneName = 'Invalid Time Zone Name "%s"';
273 >  STimeZoneUnknown = 'Time Zone Unknown';
274 >  SBadTimeSpecification = '%d:%d:%d.%d is not a valid time specification';
275 >  SBCDTooBig = 'BCD Precision (%d) is too large for Firebird Data Type max precision (%d)';
276 >  SInvalidTimeZoneID = 'Invalid Time Zone ID (%d)';
277 >  SBadTimestampOrNoTimeZoneDBEntry = 'Bad Timestamp or missing time zone DB entry (%s) TZ ID = %d';
278 >  SBCDOverflow = 'BCD Precision too large for Firebird data type,[%s]';
279 >  SNoTimezoneSupport = 'TIME/TIMESTAMP WITH TIME ZONE data type not supported';
280 >  SDecFloatNotSupported = 'DecFloat Data Type not supported';
281 >  SInt128NotSupported = 'INT128 Data Type not supported';
282 >  SUnknownParamTypeName = '%s:Unknown Param Type Name "%s"';
283 >  SInvalidQueryAction = 'Query Action only valid for an Update or Insert Query';
284 >  SSQLTypeUnchangeable = 'Cannot change SQL Type from %s to %s';
285 >  SCannotIncreaseMetadatasize = 'Cannot increase Metadata size from %d to %d';
286 >  SBatchModeNotSupported = 'Batch Mode is not available. Firebird 4 or later client and server is required';
287 >  SNotInBatchMode = 'Not in Batch Mode - have you called AddToBatch?';
288 >  SInBatchMode = 'Invalid Operation: a Batch is pending';
289 >  SInvalidBatchQuery = 'This query type (%s) cannot be batched';
290 >  SBatchRowBufferOverflow = 'Adding Row No. %d - batch buffer size limit (%d bytes) exceeded';
291 >  SBatchBufferSizeTooBig = 'Requested Batch Buffer Size (%d bytes) exceeds 256MB limit';
292 >  SNoScrollableCursors = 'Scrollable cursors are not supported';
293 >  SUnableTosetaTextType = 'Param[%d] "%s": Unable to change from a %s to a string type';
294 >  SCantDropAcquiredDB = 'Drop database not allowed by acquired attachment';
295 >  STransactionNotOwned = 'Cannot Commit or Rollback a linked transaction';
296 >  SIntegerOverflow = 'Integer overflow when scaling numeric';
297 >  SIntegerUnderflow = 'Integer underflow when scaling numeric';
298 >  SScaleCannotBeChanged = 'Unable to change numeric field scale';
299  
300   const
301    IBErrorMessages: array[TIBClientError] of string = (
469    SUnknownError,
302      SInterBaseMissing,
471    SInterBaseInstallMissing,
303      SIB60feature,
304      SNotSupported,
305      SNotPermitted,
475    SFileAccessError,
476    SConnectionTimeout,
477    SCannotSetDatabase,
478    SCannotSetTransaction,
479    SOperationCancelled,
480    SDPBConstantNotSupported,
481    SDPBConstantUnknown,
482    STPBConstantNotSupported,
483    STPBConstantUnknown,
306      SDatabaseClosed,
485    SDatabaseOpen,
486    SDatabaseNameMissing,
307      SNotInTransaction,
488    SInTransaction,
489    STimeoutNegative,
490    SNoDatabasesInTransaction,
491    SUpdateWrongDB,
492    SUpdateWrongTR,
493    SDatabaseNotAssigned,
308      STransactionNotAssigned,
495    SXSQLDAIndexOutOfRange,
496    SXSQLDANameDoesNotExist,
309      SEOF,
310      SBOF,
311      SInvalidStatementHandle,
500    SSQLOpen,
312      SSQLClosed,
502    SDatasetOpen,
503    SDatasetClosed,
313      SUnknownSQLDataType,
314      SInvalidColumnIndex,
506    SInvalidParamColumnIndex,
315      SInvalidDataConversion,
508    SColumnIsNotNullable,
316      SBlobCannotBeRead,
317      SBlobCannotBeWritten,
318      SBlobNotOpen,
319      SEmptyQuery,
513    SCannotOpenNonSQLSelect,
514    SNoFieldAccess,
515    SFieldReadOnly,
320      SFieldNotFound,
517    SNotEditing,
518    SCannotInsert,
519    SCannotPost,
520    SCannotUpdate,
521    SCannotDelete,
522    SCannotRefresh,
523    SBufferNotSet,
524    SCircularReference,
321      SSQLParseError,
526    SUserAbort,
527    SDataSetUniDirectional,
528    SCannotCreateSharedResource,
529    SWindowsAPIError,
530    SColumnListsDontMatch,
531    SColumnTypesDontMatch,
532    SCantEndSharedTransaction,
533    SFieldUnsupportedType,
534    SCircularDataLink,
535    SEmptySQLStatement,
322      SIsASelectStatement,
537    SRequiredParamNotSet,
538    SNoStoredProcName,
323      SIsAExecuteProcedure,
540    SUpdateFailed,
541    SNotCachedUpdates,
542    SNotLiveRequest,
543    SNoProvider,
544    SNoRecordsAffected,
545    SNoTableName,
546    SCannotCreatePrimaryIndex,
547    SCannotDropSystemIndex,
548    STableNameMismatch,
549    SIndexFieldMissing,
550    SInvalidCancellation,
551    SInvalidEvent,
324      SMaximumEvents,
553    SNoEventsRegistered,
554    SInvalidQueueing,
555    SInvalidRegistration,
556    SInvalidBatchMove,
557    SSQLDialectInvalid,
558    SSPBConstantNotSupported,
559    SSPBConstantUnknown,
325      SServiceActive,
326      SServiceInActive,
327      SServerNameMissing,
563    SQueryParamsError,
564    SStartParamsError,
328      SOutputParsingError,
566    SUseSpecificProcedures,
567    SSQLMonitorAlreadyPresent,
568    SCantPrintValue,
569    SEOFReached,
570    SEOFInComment,
571    SEOFInString,
572    SParamNameExpected,
573    SSuccess,
574    SDelphiException,
575    SNoOptionsSet,
576    SNoDestinationDirectory,
577    SNosourceDirectory,
578    SNoUninstallFile,
579    SOptionNeedsClient,
580    SOptionNeedsServer,
581    SInvalidOption,
582    SInvalidOnErrorResult,
583    SInvalidOnStatusResult,
584    SDPBConstantUnknownEx,
585    STPBConstantUnknownEx,
586    SSV5APIError,
587    SThreadFailed,
588    SFieldSizeError,
589    STransactionNotEnding,
590    SDscInfoTokenMissing,
591    SNoLoginDialog,
329      SEmptyAttachmentsList,
593    SFirebirdLibraryLoaded,
594    SInfoBufferIndexError,
330      SInfoBufferTypeError,
596    SInfoBufferOverflow,
331      SServiceRequestIndexError,
332      SServiceParamTypeError,
333      SOutputBlockIndexError,
# Line 611 | Line 345 | const
345      SArrayBoundsCantIncrease,
346      SStatementNotPrepared,
347      SInterfaceOutofDate,
614    SUnexpectedDatabaseInfoResp,
348      SInvalidBlobMetaData,
349      SNoDPB,
350      SInEventWait,
# Line 619 | Line 352 | const
352      SMissingColumnName,
353      SStringTooLong,
354      SFieldNotinDataSet,
622    SNotCurrentArray,
355      SNoDefaultCharacterSet,
356      SParamBufferOverflow,
357      SInvalidParamCount,
358      SInvalidVariantType,
627    SServiceRunning,
628    SUniqueRelationReqd,
359      SInterfaceNotSupported,
360      SCharacterSetExists,
361      SUnknownUserCharSet,
362      SUninitializedInputParameter,
633    SNegativeGenerator,
634    SServiceUnavailable,
635    SBadConnectString,
636    SServiceNotStarted,
637    SNotRequiredDataSetSource,
638    SNoLimboTransactionInsert,
639    SDatabaseNotConnected,
363      SMultiThreadRequired,
364 <    SODSVersionRequired
364 >    STokenQueueOverflow,
365 >    STokenQueueUnderflow,
366 >    SErrorParsing,
367 >    SDLInfoError,
368 >    SDifferentAPIs,
369 >    SInvalidDateTimeStr,
370 >    SBadTimeZoneID,
371 >    SBadBCDConversion,
372 >    SBadTimeZoneName,
373 >    STimeZoneUnknown,
374 >    SBadTimeSpecification,
375 >    SBCDTooBig,
376 >    SInvalidTimeZoneID,
377 >    SBadTimestampOrNoTimeZoneDBEntry,
378 >    SBCDOverflow,
379 >    SNoTimezoneSupport,
380 >    SDecFloatNotSupported,
381 >    SInt128NotSupported,
382 >    SUnknownParamTypeName,
383 >    SInvalidQueryAction,
384 >    SSQLTypeUnchangeable,
385 >    SCannotIncreaseMetadatasize,
386 >    SBatchModeNotSupported,
387 >    SNotInBatchMode,
388 >    SInBatchMode,
389 >    SInvalidBatchQuery,
390 >    SBatchRowBufferOverflow,
391 >    SBatchBufferSizeTooBig,
392 >    SNoScrollableCursors,
393 >    SUnableTosetaTextType,
394 >    SCantDropAcquiredDB,
395 >    STransactionNotOwned,
396 >    SIntegerOverflow,
397 >    SIntegerUnderflow,
398 >    SScaleCannotBeChanged
399    );
400  
401   function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
# Line 646 | Line 403 | begin
403    Result := IBErrorMessages[ErrMess];
404   end;
405  
406 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
407 + begin
408 +  raise EIBClientError.Create(Ord(ErrMess),
409 +                              Format(GetErrorMessage(ErrMess), Args));
410 + end;
411 +
412 +
413   end.
414  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines