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 217 by tony, Fri Mar 16 10:27:26 2018 UTC vs.
ibx/branches/udr/client/FBMessages.pas (file contents), Revision 372 by tony, Wed Jan 5 16:20: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,
140 <      ibxeNegativeGenerator,
141 <      ibxeServiceUnavailable,
142 <      ibxeBadConnectString,
143 <      ibxeServiceNotStarted,
144 <      ibxeNotRequiredDataSetSource,
145 <      ibxeNoLimboTransactionInsert,
146 <      ibxeDatabaseNotConnected,
147 <      ibxMultiThreadRequired
140 >      ibxeMultiThreadRequired,
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 >      ibxeStringOverflow
177        );
178  
179   function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
180  
181 + {IBError is used internally and by IBX to throw an EIBClientError}
182 +
183 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
184 +
185   resourcestring
186    { generic strings used in code }
262  SEOFReached = 'SEOFReached';
263  SEOFInComment = 'EOF in comment detected';
264  SEOFInString = 'EOF in string detected';
187    SParamNameExpected = 'Parameter name expected';
266  SCantPrintValue = 'Cannot print value';
267  SSuccess = 'Successful execution';
268  SDisconnectDatabase = 'Database is currently connected. Disconnect and continue?';
269  SCommitTransaction = 'Transaction is currently Active. Rollback and continue?';
188    sSQLErrorSeparator = ' When Executing: ';
271  SNoDataSet = 'No dataset association';
272  SSQLGenSelect = 'Must select at least one key field and one update field';
273  SSQLNotGenerated = 'Update SQL statements not generated, exit anyway?';
274  SSQLDataSetOpen = 'Unable to determine field names for %s';
275  SDefaultTransaction = '%s, Default';
189    SFirebirdAPIFuncNotFound = 'Unable to load Firebird Client Library Function "%s"';
277  SDatabaseFilter = 'Database Files (*.fdb; *.gdb)|*.gdb; *.fdb|All files (*.*)|*.*';
190    STrue = 'true';
191    SFalse = 'false';
192    SArray = '(array)';
193 <  SBlob = '(blob)';
193 >  SBatchCompletionError = 'Error Processing update/insert batch on row number %d - ';
194  
195   implementation
196  
197 < uses IBUtils;
197 > uses IBUtils, IB;
198  
199   resourcestring
200  
201   { strings used in error messages}
290  SUnknownError = 'Unknown error';
202    SInterBaseMissing = 'Firebird library not found in the path. Please install Firebird to use this functionality';
292  SInterBaseInstallMissing = 'InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality';
203    SIB60feature = '%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality';
204    SNotSupported = 'Unsupported feature';
205    SNotPermitted = 'Not permitted';
296  SFileAccessError = 'Temporary file access error';
297  SConnectionTimeout = 'Database connection timed out';
298  SCannotSetDatabase = 'Cannot set database';
299  SCannotSetTransaction = 'Cannot set transaction';
300  SOperationCancelled = 'Operation cancelled at user''s request';
301  SDPBConstantNotSupported = 'DPB Constant (isc_dpb_%s) is unsupported';
302  SDPBConstantUnknown = 'DPB Constant (%d) is unknown';
303  STPBConstantNotSupported = 'TPB Constant (isc_tpb_%s) is unsupported';
304  STPBConstantUnknown = 'TPB Constant (%d) is unknown';
206    SDatabaseClosed = 'Cannot perform operation -- DB is not open';
306  SDatabaseOpen = 'Cannot perform operation -- DB is currently open';
307  SDatabaseNameMissing = 'Database name is missing';
207    SNotInTransaction = 'Transaction is not active';
309  SInTransaction = 'Transaction is active';
310  STimeoutNegative = 'Timeout values cannot be negative';
311  SNoDatabasesInTransaction = 'No databases are listed in transaction component';
312  SUpdateWrongDB = 'Updating wrong database';
313  SUpdateWrongTR = 'Updating wrong transaction. Unique transaction expected in set';
314  SDatabaseNotAssigned = 'Database not assigned';
208    STransactionNotAssigned = 'Transaction not assigned';
316  SXSQLDAIndexOutOfRange = 'XSQLDA index out of range';
317  SXSQLDANameDoesNotExist = 'XSQLDA name does not exist (%s)';
209    SEOF = 'End of file';
210    SBOF = 'Beginning of file';
211    SInvalidStatementHandle = 'Invalid statement handle';
321  SSQLOpen = 'IBSQL Open';
212    SSQLClosed = 'IBSQL Closed';
323  SDatasetOpen = 'Dataset open';
324  SDatasetClosed = 'Dataset closed';
213    SUnknownSQLDataType = 'Unknown SQL Data type (%d)';
214    SInvalidColumnIndex = 'Invalid column index (index exceeds permitted range)';
215 <  SInvalidParamColumnIndex = 'Invalid parameter index (index exceeds permitted range)';
328 <  SInvalidDataConversion = 'Invalid data conversion';
329 <  SColumnIsNotNullable = 'Column cannot be set to null (%s)';
215 >  SInvalidDataConversion = 'Invalid data conversion from %s';
216    SBlobCannotBeRead = 'Blob stream cannot be read';
217    SBlobCannotBeWritten = 'Blob stream cannot be written';
218    SBlobNotOpen = 'The Blob is not open';
219    SEmptyQuery = 'Empty query';
334  SCannotOpenNonSQLSelect = 'Cannot "open" a non-select statement. Use ExecQuery';
335  SNoFieldAccess = 'No access to field "%s"';
336  SFieldReadOnly = 'Field "%s" is read-only';
220    SFieldNotFound = 'Field "%s" not found';
338  SNotEditing = 'Not in edit mode';
339  SCannotInsert = 'Cannot insert into dataset. (No insert query)';
340  SCannotPost = 'Cannot post. (No update/insert query)';
341  SCannotUpdate = 'Cannot update. (No update query)';
342  SCannotDelete = 'Cannot delete from dataset. (No delete query)';
343  SCannotRefresh = 'Cannot refresh row. (No refresh query)';
344  SBufferNotSet = 'Buffer not set';
345  SCircularReference = 'Circular references not permitted';
221    SSQLParseError = 'SQL Parse Error:' + CRLF + CRLF + '%s';
347  SUserAbort = 'User abort';
348  SDataSetUniDirectional = 'Data set is uni-directional';
349  {$IFDEF UNIX}
350  SCannotCreateSharedResource = 'Cannot create shared resource. %s';
351  {$ELSE}
352  SCannotCreateSharedResource = 'Cannot create shared resource. (Windows error %d)';
353  {$ENDIF}
354  SWindowsAPIError = 'Windows API error. (Windows error %d [$%.8x])';
355  SColumnListsDontMatch = 'Column lists do not match';
356  SColumnTypesDontMatch = 'Column types don''t match. (From index: %d; To index: %d)';
357  SCantEndSharedTransaction = 'Can''t end a shared transaction unless it is forced and equal ' +
358                             'to the transaction''s TimeoutAction';
359  SFieldUnsupportedType = 'Unsupported Field Type';
360  SCircularDataLink = 'Circular DataLink Reference';
361  SEmptySQLStatement = 'Empty SQL Statement';
222    SIsASelectStatement = 'use Open for a Select Statement';
363  SRequiredParamNotSet = 'Required parameter "%s" value not set';
364  SNoStoredProcName = 'No Stored Procedure Name assigned';
223    SIsAExecuteProcedure = 'use ExecProc for Procedure; use TQuery for Select procedures';
366  SUpdateFailed = 'Update Failed';
367  SNotCachedUpdates = 'CachedUpdates not enabled';
368  SNotLiveRequest = 'Request is not live - cannot modify';
369  SNoProvider = 'No Provider';
370  SNoRecordsAffected = 'No Records Affected';
371  SNoTableName = 'No Table Name assigned';
372  SCannotCreatePrimaryIndex = 'Cannot Create Primary Index; are created automatically';
373  SCannotDropSystemIndex = 'Cannot Drop System Index';
374  STableNameMismatch = 'Table Name Mismatch';
375  SIndexFieldMissing = 'Index Field Missing';
376  SInvalidCancellation = 'Cannot Cancel events while processing';
377  SInvalidEvent = 'Invalid Event';
224    SMaximumEvents = 'Exceded Maximum Event limits';
379  SNoEventsRegistered = 'No Events Registered';
380  SInvalidQueueing = 'Invalid Queueing';
381  SInvalidRegistration = 'Invalid Registration';
382  SInvalidBatchMove = 'Invalid Batch Move';
383  SSQLDialectInvalid = 'SQL Dialect Invalid';
384  SSPBConstantNotSupported = 'SPB Constant Not supported';
385  SSPBConstantUnknown = 'SPB Constant Unknown';
225    SServiceActive = 'Cannot perform operation -- service is not attached';
226    SServiceInActive = 'Cannot perform operation -- service is attached';
227    SServerNameMissing = 'Server Name Missing';
389  SQueryParamsError = 'Query Parameters missing or incorrect';
390  SStartParamsError = 'start Parameters missing or incorrect';
228    SOutputParsingError = 'Unexpected Output buffer value (%d) - %s';
392  SUseSpecificProcedures = 'Generic ServiceStart not applicable: Use Specific Procedures to set configuration params';
393  SSQLMonitorAlreadyPresent = 'SQL Monitor Instance is already present';
394  SDelphiException = 'DelphiException %s';
395  SNoOptionsSet = 'No Install Options selected';
396  SNoDestinationDirectory = 'DestinationDirectory is not set';
397  SNosourceDirectory = 'SourceDirectory is not set';
398  SNoUninstallFile = 'Uninstall File Name is not set';
399  SOptionNeedsClient = '%s component requires Client to function properly';
400  SOptionNeedsServer = '%s component requires Server to function properly';
401  SInvalidOption = 'Invalid option specified';
402  SInvalidOnErrorResult = 'Unexpected onError return value';
403  SInvalidOnStatusResult = 'Unexpected onStatus return value';
404
405  SDPBConstantUnknownEx = 'DPB Constant (%s) is unknown';
406  STPBConstantUnknownEx = 'TPB Constant (%s) is unknown';
407  SSV5APIError = 'SV5 API API Error - %s';
408  SThreadFailed = '%s Thread failed with Exception: %s';
409  sFieldSizeError = 'Field %s is too small to receive the data';
410  STransactionNotEnding = 'Transaction is not being completed';
411  SDscInfoTokenMissing = '%s token not found';
412  SNoLoginDialog = 'Default Login Dlalog not found. Have you included ibexpress ' +
413                   'in your program uses list?';
229    SEmptyAttachmentsList = 'The list of database attachments cannot be empty';
415  SFirebirdLibraryLoaded = 'The Firebird Library is already loaded';
416  SInfoBufferIndexError = 'Info Buffer Index Out of Range (%d)';
230    SInfoBufferTypeError = 'Invalid operation for Info Buffer Type (%d)';
418  SInfoBufferOverflow = 'Info Buffer overlow';
231    SServiceRequestIndexError = 'Service Request Index Out of Range (%d)';
232    SServiceParamTypeError = 'Invalid Request for Service Param Type';
233    SOutputBlockIndexError = 'Output Block Index Out of Range (%d)';
# Line 433 | Line 245 | resourcestring
245    SArrayBoundsCantIncrease = 'Array Bounds can only be narrowed';
246    SStatementNotPrepared = 'The Statement has not been prepared';
247    SInterfaceOutofDate = 'This interface is no longer up-to-date';
436  SUnexpectedDatabaseInfoResp = 'Unexpected Database Information Response';
248    SInvalidBlobMetaData = 'Unable to Access Blob Meta Data';
249    SNoDPB = 'A DPB must be provided';
250    SInEventWait = 'Already in Event Wait State';
# Line 441 | Line 252 | resourcestring
252    SMissingColumnName = 'Relation or Column Name Missing';
253    SStringTooLong = 'String "%s" is too long. Max %d characters';
254    SFieldNotinDataSet = 'Field %s is not a member of DataSet %s';
444  SNotCurrentArray = 'Cannot Edit an Array that is not part of the current record';
255    SNoDefaultCharacterSet = 'A connection default character set is required to perform this operation';
256    SParamBufferOverflow = 'Parameter Buffer Overflow';
257    SInvalidParamCount = 'Invalid Parameter Count. %d expected, %d found';
258    SInvalidVariantType = 'Invalid variant type';
449  SServiceRunning = 'Cannot start a new service while an existing service is running';
450  SUniqueRelationReqd = 'All Output Fields must derived from the same table';
259    SInterfaceNotSupported = 'Interface not supported; Guid %s not found';
260    SCharacterSetExists = 'Character set "%s" is already defined';
261    SUnknownUserCharSet = 'Unknown user character set "%s"';
262    SUninitializedInputParameter = 'SQL Param No. %d (%s) is uninitialised';
455  SNegativeGenerator = 'A Generator Increment cannot be negative';
456  SServiceUnavailable = 'Request Service is not available';
457  SBadConnectString = 'Parse Error in Connect String';
458  SServiceNotStarted = 'Cannot Query running service until the service has been started';
459  SNotRequiredDataSetSource = 'Object of class %s is not a valid dataset source';
460  SNoLimboTransactionInsert = 'You cannot add to a Limbo Transaction list';
461  SDatabaseNotConnected = 'Cannot connect using an unattached database';
263    SMultiThreadRequired = 'Multi-threading required for %s but not enabled. Please recompile with multi-threading support enabled. '+
264                           'Hint: you probably need to add -dUseCThreads to the Custom Options.';
265 +  STokenQueueOverflow = 'Error in SQL Token Analyser - token queue overflow';
266 +  STokenQueueUnderflow = 'Error in SQL Token Analyser - token queue underflow';
267 +  SErrorParsing = 'Error parsing SQL Statement at clause starting with %s';
268 +  SDLInfoError = 'dlinfo returned error - %s';
269 +  SDifferentAPIs = 'All transaction attachments must use the same Firebird Library';
270 +  SInvalidDateTimeStr = '%s is not a valid Date/Time string';
271 +  SBadTimeZoneID = 'Invalid Time Zone ID (%d,%d)';
272 +  SBadBCDConversion = 'Conversion to BCD failed';
273 +  SBadTimeZoneName = 'Invalid Time Zone Name "%s"';
274 +  STimeZoneUnknown = 'Time Zone Unknown';
275 +  SBadTimeSpecification = '%d:%d:%d.%d is not a valid time specification';
276 +  SBCDTooBig = 'BCD Precision (%d) is too large for Firebird Data Type max precision (%d)';
277 +  SInvalidTimeZoneID = 'Invalid Time Zone ID (%d)';
278 +  SBadTimestampOrNoTimeZoneDBEntry = 'Bad Timestamp or missing time zone DB entry (%s) TZ ID = %d';
279 +  SBCDOverflow = 'BCD Precision too large for Firebird data type,[%s]';
280 +  SNoTimezoneSupport = 'TIME/TIMESTAMP WITH TIME ZONE data type not supported';
281 +  SDecFloatNotSupported = 'DecFloat Data Type not supported';
282 +  SInt128NotSupported = 'INT128 Data Type not supported';
283 +  SUnknownParamTypeName = '%s:Unknown Param Type Name "%s"';
284 +  SInvalidQueryAction = 'Query Action only valid for an Update or Insert Query';
285 +  SSQLTypeUnchangeable = 'Cannot change SQL Type from %s to %s';
286 +  SCannotIncreaseMetadatasize = 'Cannot increase Metadata size from %d to %d';
287 +  SBatchModeNotSupported = 'Batch Mode is not available. Firebird 4 or later client and server is required';
288 +  SNotInBatchMode = 'Not in Batch Mode - have you called AddToBatch?';
289 +  SInBatchMode = 'Invalid Operation: a Batch is pending';
290 +  SInvalidBatchQuery = 'This query type (%s) cannot be batched';
291 +  SBatchRowBufferOverflow = 'Adding Row No. %d - batch buffer size limit (%d bytes) exceeded';
292 +  SBatchBufferSizeTooBig = 'Requested Batch Buffer Size (%d bytes) exceeds 256MB limit';
293 +  SNoScrollableCursors = 'Scrollable cursors are not supported';
294 +  SUnableTosetaTextType = 'Param[%d] "%s": Unable to change from a %s to a string type';
295 +  SCantDropAcquiredDB = 'Drop database not allowed by acquired attachment';
296 +  STransactionNotOwned = 'Cannot Commit or Rollback a linked transaction';
297 +  SIntegerOverflow = 'Integer overflow when scaling numeric';
298 +  SIntegerUnderflow = 'Integer underflow when scaling numeric';
299 +  SScaleCannotBeChanged = 'Unable to change numeric field scale';
300 +  SStringOverflow = 'String overflow. String Length %d exceeds permitted maximum (%d)';
301  
302   const
303    IBErrorMessages: array[TIBClientError] of string = (
467    SUnknownError,
304      SInterBaseMissing,
469    SInterBaseInstallMissing,
305      SIB60feature,
306      SNotSupported,
307      SNotPermitted,
473    SFileAccessError,
474    SConnectionTimeout,
475    SCannotSetDatabase,
476    SCannotSetTransaction,
477    SOperationCancelled,
478    SDPBConstantNotSupported,
479    SDPBConstantUnknown,
480    STPBConstantNotSupported,
481    STPBConstantUnknown,
308      SDatabaseClosed,
483    SDatabaseOpen,
484    SDatabaseNameMissing,
309      SNotInTransaction,
486    SInTransaction,
487    STimeoutNegative,
488    SNoDatabasesInTransaction,
489    SUpdateWrongDB,
490    SUpdateWrongTR,
491    SDatabaseNotAssigned,
310      STransactionNotAssigned,
493    SXSQLDAIndexOutOfRange,
494    SXSQLDANameDoesNotExist,
311      SEOF,
312      SBOF,
313      SInvalidStatementHandle,
498    SSQLOpen,
314      SSQLClosed,
500    SDatasetOpen,
501    SDatasetClosed,
315      SUnknownSQLDataType,
316      SInvalidColumnIndex,
504    SInvalidParamColumnIndex,
317      SInvalidDataConversion,
506    SColumnIsNotNullable,
318      SBlobCannotBeRead,
319      SBlobCannotBeWritten,
320      SBlobNotOpen,
321      SEmptyQuery,
511    SCannotOpenNonSQLSelect,
512    SNoFieldAccess,
513    SFieldReadOnly,
322      SFieldNotFound,
515    SNotEditing,
516    SCannotInsert,
517    SCannotPost,
518    SCannotUpdate,
519    SCannotDelete,
520    SCannotRefresh,
521    SBufferNotSet,
522    SCircularReference,
323      SSQLParseError,
524    SUserAbort,
525    SDataSetUniDirectional,
526    SCannotCreateSharedResource,
527    SWindowsAPIError,
528    SColumnListsDontMatch,
529    SColumnTypesDontMatch,
530    SCantEndSharedTransaction,
531    SFieldUnsupportedType,
532    SCircularDataLink,
533    SEmptySQLStatement,
324      SIsASelectStatement,
535    SRequiredParamNotSet,
536    SNoStoredProcName,
325      SIsAExecuteProcedure,
538    SUpdateFailed,
539    SNotCachedUpdates,
540    SNotLiveRequest,
541    SNoProvider,
542    SNoRecordsAffected,
543    SNoTableName,
544    SCannotCreatePrimaryIndex,
545    SCannotDropSystemIndex,
546    STableNameMismatch,
547    SIndexFieldMissing,
548    SInvalidCancellation,
549    SInvalidEvent,
326      SMaximumEvents,
551    SNoEventsRegistered,
552    SInvalidQueueing,
553    SInvalidRegistration,
554    SInvalidBatchMove,
555    SSQLDialectInvalid,
556    SSPBConstantNotSupported,
557    SSPBConstantUnknown,
327      SServiceActive,
328      SServiceInActive,
329      SServerNameMissing,
561    SQueryParamsError,
562    SStartParamsError,
330      SOutputParsingError,
564    SUseSpecificProcedures,
565    SSQLMonitorAlreadyPresent,
566    SCantPrintValue,
567    SEOFReached,
568    SEOFInComment,
569    SEOFInString,
570    SParamNameExpected,
571    SSuccess,
572    SDelphiException,
573    SNoOptionsSet,
574    SNoDestinationDirectory,
575    SNosourceDirectory,
576    SNoUninstallFile,
577    SOptionNeedsClient,
578    SOptionNeedsServer,
579    SInvalidOption,
580    SInvalidOnErrorResult,
581    SInvalidOnStatusResult,
582    SDPBConstantUnknownEx,
583    STPBConstantUnknownEx,
584    SSV5APIError,
585    SThreadFailed,
586    SFieldSizeError,
587    STransactionNotEnding,
588    SDscInfoTokenMissing,
589    SNoLoginDialog,
331      SEmptyAttachmentsList,
591    SFirebirdLibraryLoaded,
592    SInfoBufferIndexError,
332      SInfoBufferTypeError,
594    SInfoBufferOverflow,
333      SServiceRequestIndexError,
334      SServiceParamTypeError,
335      SOutputBlockIndexError,
# Line 609 | Line 347 | const
347      SArrayBoundsCantIncrease,
348      SStatementNotPrepared,
349      SInterfaceOutofDate,
612    SUnexpectedDatabaseInfoResp,
350      SInvalidBlobMetaData,
351      SNoDPB,
352      SInEventWait,
# Line 617 | Line 354 | const
354      SMissingColumnName,
355      SStringTooLong,
356      SFieldNotinDataSet,
620    SNotCurrentArray,
357      SNoDefaultCharacterSet,
358      SParamBufferOverflow,
359      SInvalidParamCount,
360      SInvalidVariantType,
625    SServiceRunning,
626    SUniqueRelationReqd,
361      SInterfaceNotSupported,
362      SCharacterSetExists,
363      SUnknownUserCharSet,
364      SUninitializedInputParameter,
365 <    SNegativeGenerator,
366 <    SServiceUnavailable,
367 <    SBadConnectString,
368 <    SServiceNotStarted,
369 <    SNotRequiredDataSetSource,
370 <    SNoLimboTransactionInsert,
371 <    SDatabaseNotConnected,
372 <    SMultiThreadRequired
365 >    SMultiThreadRequired,
366 >    STokenQueueOverflow,
367 >    STokenQueueUnderflow,
368 >    SErrorParsing,
369 >    SDLInfoError,
370 >    SDifferentAPIs,
371 >    SInvalidDateTimeStr,
372 >    SBadTimeZoneID,
373 >    SBadBCDConversion,
374 >    SBadTimeZoneName,
375 >    STimeZoneUnknown,
376 >    SBadTimeSpecification,
377 >    SBCDTooBig,
378 >    SInvalidTimeZoneID,
379 >    SBadTimestampOrNoTimeZoneDBEntry,
380 >    SBCDOverflow,
381 >    SNoTimezoneSupport,
382 >    SDecFloatNotSupported,
383 >    SInt128NotSupported,
384 >    SUnknownParamTypeName,
385 >    SInvalidQueryAction,
386 >    SSQLTypeUnchangeable,
387 >    SCannotIncreaseMetadatasize,
388 >    SBatchModeNotSupported,
389 >    SNotInBatchMode,
390 >    SInBatchMode,
391 >    SInvalidBatchQuery,
392 >    SBatchRowBufferOverflow,
393 >    SBatchBufferSizeTooBig,
394 >    SNoScrollableCursors,
395 >    SUnableTosetaTextType,
396 >    SCantDropAcquiredDB,
397 >    STransactionNotOwned,
398 >    SIntegerOverflow,
399 >    SIntegerUnderflow,
400 >    SScaleCannotBeChanged,
401 >    SStringOverflow
402    );
403  
404   function GetErrorMessage(ErrMess: TIBClientError): AnsiString;
# Line 643 | Line 406 | begin
406    Result := IBErrorMessages[ErrMess];
407   end;
408  
409 + procedure IBError(ErrMess: TIBClientError; const Args: array of const);
410 + begin
411 +  raise EIBClientError.Create(Ord(ErrMess),
412 +                              Format(GetErrorMessage(ErrMess), Args));
413 + end;
414 +
415 +
416   end.
417  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines