Search found 314 matches

by upscene
Wed 18 May 2022 12:46
Forum: InterBase Data Access Components
Topic: InterBase Change Views and API support?
Replies: 1
Views: 7460

InterBase Change Views and API support?

Hi,

Is there anything in IBDac that supports the InterBase Change View API?

https://docwiki.embarcadero.com/InterBa ... PI_Support

The command line tool ISQL is able to use the return values by the API to add pseudo columns with an indicator of changes as returned from the change view query.

Any support for this yet?

With regards,

Martijn Tonies
by upscene
Tue 14 Dec 2021 17:59
Forum: InterBase Data Access Components
Topic: Questions on IBDAC 8.0.1 and Firebird 4.0
Replies: 19
Views: 46728

Re: Questions on IBDAC 8.0.1 and Firebird 4.0

OK, thanks.

I do hope you'll be able to support timestamp with time zone with a TSQLTimeStampOffsetField soon. :)
by upscene
Mon 13 Dec 2021 16:32
Forum: InterBase Data Access Components
Topic: Questions on IBDAC 8.0.1 and Firebird 4.0
Replies: 19
Views: 46728

Re: Questions on IBDAC 8.0.1 and Firebird 4.0

tsteinmaurer wrote: Mon 13 Dec 2021 15:11 Viktor,

I see IBDAC 8.0.2 was released.
2) In IBDAC 8.0.1 for Firebird 4, we supported INT128, DECFLOAT and large NUMERIC types, as well as table names up to 64 characters.
The TIMESTAMP WITH TIME ZONE type is supported as a string in this release.
Full support of this type will be added to the next release of IBDAC!
We will consider the possibility of supporting isc_dpb_set_bind DPB.
Should you have any questions, do not hesitate to ask!
What is the status in 8.0.2 in this regard?

Thanks,
Thomas
Mostly bugfixes, see
https://www.devart.com/ibdac/revision_history.html
The CutOffParams global variable is added
The PoolId connection pool option is added
The WireCompression option for the Connection component is added
Now, fields of type dtFloat are created for system types INT128, DECFLOAT, and large NUMERIC by default
Fixed bug with value exceeds the range for valid timestamps when using AsDateTime property
Fixed bug with Access Violation when DescribeParams is True and using the AsBytes property
Fixed bug with setting the value of type UInt64 using the Value parameter property
Fixed bug with inserting a Byte value using the Value parameter property
Fixed bug with setting the numeric value of the parameter via AsString for TIBCStoredProc
Fixed bug with insertion of a string and binary values when UseUnicode set to True
Fixed bug with an incorrect encoding of table alias names
Fixed bug with leading spaces getting trimmed in strings loaded from XML in VirtualTable
Fixed bug with using the AsDate property when working with fields of the ftDate type
Fixed bug with updating the state of records at applying cached updates
Fixed bug with freezing multiply connection pools in threads
I wonder what this means:
- Now, fields of type dtFloat are created for system types INT128, DECFLOAT, and large NUMERIC by default

What was the type before and how does dtFloat make sense for INT128?
by upscene
Fri 10 Dec 2021 13:14
Forum: InterBase Data Access Components
Topic: Firebird 4, timezone data cannot be converted by Delphi routine StrToSQLTimeStampOffset?
Replies: 6
Views: 16063

Re: Firebird 4, timezone data cannot be converted by Delphi routine StrToSQLTimeStampOffset?

Hello Viktor,

Will you be using the TSQLTimeStampOffset and TSQLTimeStampOffsetField for the implementation?

If so, then I know I can prepare my software for that ;)

With regards,

Martijn
by upscene
Fri 10 Dec 2021 10:42
Forum: InterBase Data Access Components
Topic: Firebird 4, timezone data cannot be converted by Delphi routine StrToSQLTimeStampOffset?
Replies: 6
Views: 16063

Firebird 4, timezone data cannot be converted by Delphi routine StrToSQLTimeStampOffset?

Hi,

Cause your current timestamp with timezone implementation is string based, I'm trying to use the Delphi StrToSQLTimeStampOffset routine, but your timezone information cannot be parsed by that routine.

Is there a way to get the timezone information so that it can be used by this routine?

With regards,

Martijn Tonies
by upscene
Fri 10 Dec 2021 09:47
Forum: InterBase Data Access Components
Topic: Questions on IBDAC 8.0.1 and Firebird 4.0
Replies: 19
Views: 46728

Re: Questions on IBDAC 8.0.1 and Firebird 4.0

ViktorV wrote: Wed 22 Sep 2021 16:41 2) In IBDAC 8.0.1 for Firebird 4, we supported INT128, DECFLOAT and large NUMERIC types, as well as table names up to 64 characters.
The TIMESTAMP WITH TIME ZONE type is supported as a string in this release.
Full support of this type will be added to the next release of IBDAC!
We will consider the possibility of supporting isc_dpb_set_bind DPB.
Should you have any questions, do not hesitate to ask!

Best regards,
Viktor
Hi Viktor,

The current implementation of WITH TIME ZONE is lacking, but you know that ;)

Will you use TSQLTimeStampOffsetField for this type?

I just tried mapping TIMESTAMP WITH TIME ZONE to TSQLTimeStampField, but that fails as well. It seems you cannot map (yet?) to TSQLTimeStampOffsetField?
Field: MON$CREATION_DATE
31-MAY-2021 7:44:20.0510 GMT
Will there be an option for a connection to map any TIME/DATE/TIMESTAMP field to TSQLTimeStamp(Offset)? Or do you have to use the data type mapping for that?

With regards,

Martijn
by upscene
Fri 03 Dec 2021 16:04
Forum: InterBase Data Access Components
Topic: How to specify InterBase SEP?
Replies: 2
Views: 14062

Re: How to specify InterBase SEP?

Thank you Viktor.

I checked the documentation, but couldn't find the parameter name.

Is there a list of all available parameter names and possible options?
by upscene
Thu 02 Dec 2021 08:32
Forum: InterBase Data Access Components
Topic: How to specify InterBase SEP?
Replies: 2
Views: 14062

How to specify InterBase SEP?

Hi,

how does one specify the InterBase System Encryption Password (SEP) when connecting?

With regards,

Martijn
by upscene
Tue 30 Nov 2021 07:50
Forum: InterBase Data Access Components
Topic: Formatting CHAR(16), OCTETS without { .. }
Replies: 3
Views: 8360

Re: Formatting CHAR(16), OCTETS without { .. }

Hi Viktor,

How does the Formatting-parameter work? Can't find anything in the documentation?
by upscene
Tue 23 Nov 2021 14:56
Forum: InterBase Data Access Components
Topic: Formatting CHAR(16), OCTETS without { .. }
Replies: 3
Views: 8360

Formatting CHAR(16), OCTETS without { .. }

Hi,

I've added a DataTypeMap rule as per your documentation:

Code: Select all

DataTypeMap.AddDBTypeRule(ibcCharBin, 16, 16, ftGuid)
But this formats the output with curly brackets. Is it possible to add a format that removes the curly brackets?

The AddDBTypeRule method takes a Format parameter but I can't figure out how it's supposed to be used.

With regards,

Martijn
by upscene
Wed 17 Nov 2021 13:33
Forum: InterBase Data Access Components
Topic: !! Latest version has BLOB/Bytes length/access violation error !!
Replies: 7
Views: 10231

Re: !! Latest version has BLOB/Bytes length/access violation error !!

Hello Viktor,

The problem with the nightly build, is that I use the components for Oracle, SQL Server, MySQL and PostgreSQL as well.

I would need a build of everything ;)
by upscene
Tue 16 Nov 2021 13:35
Forum: InterBase Data Access Components
Topic: !! Latest version has BLOB/Bytes length/access violation error !!
Replies: 7
Views: 10231

Re: !! Latest version has BLOB/Bytes length/access violation error !!

Hello Viktor,

DescribeParams = True.

AV/crash on calling Execute.

Using Firebird 3 or 4.
by upscene
Mon 15 Nov 2021 13:23
Forum: InterBase Data Access Components
Topic: !! Latest version has BLOB/Bytes length/access violation error !!
Replies: 7
Views: 10231

Re: !! Latest version has BLOB/Bytes length/access violation error !!

Not sure what you want me to tell you.

It's simple:
1. CHAR(16), OCTETS fields (16 bytes long)
2. create two items, one is a SELECT cursor, the other is a parameterized INSERT INTO statement
3. open the cursor, make sure NOT to convert this to field type GUID
4. I copy the field value to a stream

Code: Select all

Bytes := TBytesStream.Create(TBinaryField(Field).AsBytes);
try
  Stream.CopyFrom(Bytes, Bytes.Size);
finally
  Bytes.Free;
end;
5. load the stream into the parameter

Code: Select all

if Stream is TBytesStream
then FCommand.ParamByName(ParamName).AsBytes := (Stream as TBytesStream).Bytes
else begin
  bytes := TBytesStream.Create;
  try
    bytes.LoadFromStream(Stream);
    FCommand.ParamByName(ParamName).AsBytes := bytes.Bytes;
  finally
    bytes.Free;
  end;
end;
6. execute the INSERT command

This code worked fine in an older version, fails now. No idea where 8192 comes from, the stream I pass to that latter piece of code has a length of 16 bytes.
by upscene
Thu 11 Nov 2021 11:38
Forum: InterBase Data Access Components
Topic: !! Latest version has BLOB/Bytes length/access violation error !!
Replies: 7
Views: 10231

!! Latest version has BLOB/Bytes length/access violation error !!

Hi,

When testing my own software with the new version of IBDac (8.0.1), I noticed the component set has a problem with BLOB values.

It raises this error followed by an access violation in rtl.bpl
---------------------------
Project raised exception class EIBCError with message 'Dynamic SQL ErrorSQL error code = -303
arithmetic exception, numeric overflow, or string truncation
string right truncation
expected length 16, actual 8192'.
---------------------------

The previous version I used was 7.1.3, that worked fine.

My code is transferring a character set octets (CHAR(16)) value, using raw byte with SaveToStream and LoadFromStream.

I noticed 7.4.3 has this change:
* Bug with assigning a BLOB parameter when the source data is loaded via the TParam.LoadFromStream method is fixed

Could this be related? If so, is there a code change that I can use on my end? This is an urgent issue for me.

With regards,

Martijn