Re: Firebird-NET-Provider GET doesn''t allow extended length parameters

8 views
Skip to first unread message

Steve Naidamast

unread,
Jul 20, 2026, 10:52:55 AMJul 20
to firebird-net-provider
Hello...

I have run into an inconsistency with our Firebird Net Provider in that when doing data retrieval (SELECT),  it appears that the select process has difficulty with accepting parameter names longer than the original standard of 31 characters , when accessed by a program through the ADO.NET provider.

This has, so far, not been an issue with both the INSERT and UPDATE processes.

Steve Naidamast
Sr. Software Engineer

Jiří Činčura

unread,
Jul 20, 2026, 2:11:59 PMJul 20
to 'Mr. John' via firebird-net-provider
Do you have a repro.

--
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/

Mark Rotteveel

unread,
Jul 20, 2026, 5:10:17 PMJul 20
to firebird-n...@googlegroups.com
Do you use embedded instead of TCP/IP connections?

A quick look at the code in FesStatement suggests it uses XSQLDA/XSQLVAR
with isc_dsql_prepare, isc_describe and isc_describe_bind, and the
sqlname of XSQLVAR is limited to names of 31 bytes (IIRC, fbclient
silently truncates longer names), instead of retrieving the information
with isc_dsql_sql_info.

Mark
--
Mark Rotteveel

Steve Naidamast

unread,
Jul 21, 2026, 4:27:54 AMJul 21
to firebird-n...@googlegroups.com
Jiri...

The stored procedure below will work fine if you change the two fields, PS_RAIL_ACCOUTREMENT_V_OUT, and PS_RAIL_ACCOUTREMENT_V_OR_OUT, back to
their original names of PS_RAIL_ACCOUTREMENT_MODIFIERS_OUT, and PS_RAIL_ACCOUTREMENT_MODIFIERS_OR_OUT.

However, with the original names, the Firebird Provider yields an error that the columns cannot be found.

Steve Naidamast

>>>
CREATE PROCEDURE SP_GET_EQUIP_EELSA_REC_KEY(
  PI_KEY_IN INTEGER NOT NULL)
RETURNS(
  PI_KEY_OUT INTEGER,
  PI_EQUIPMENT_KEY_OUT INTEGER,
  PS_WEAPON_TYPE_OUT VARCHAR(30),
  PCHR_WEIGHT_MSMT_OUT CHAR(2),
  PDBL_WEIGHT_OUT DOUBLE PRECISION,
  PDBL_WEIGHT_OR_OUT DOUBLE PRECISION,
  PCHR_CALIBER_MSMT_OUT CHAR(2),
  PDBL_CALIBER_OUT DOUBLE PRECISION,
  PDBL_CALIBER_OR_OUT DOUBLE PRECISION,
  PCHR_BARREL_LENGTH_MSMT_OUT CHAR(2),
  PDBL_BARREL_LENGTH_OUT DOUBLE PRECISION,
  PDBL_BARREL_LENGTH_OR_OUT DOUBLE PRECISION,
  PS_RIFLING_TWIST_RATE_OUT VARCHAR(10),
  PS_RIFLING_TWIST_RATE_OR_OUT VARCHAR(10),
  PS_ACTION_TYPE_OUT VARCHAR(30),
  PS_FEED_SYSTEM_OUT VARCHAR(20),
  PS_FIRE_MODE_OUT VARCHAR(30),
  PI_RELOAD_TIME_IN_SECS_OUT INTEGER,
  PI_RELOAD_TIME_IN_SECS_OR_OUT INTEGER,
  PI_MAGAZINE_CAPACITY_OUT INTEGER,
  PI_MAGAZINE_CAPACITY_OR_OUT INTEGER,
  PDBL_RATE_OF_FIRE_RPM_OUT DOUBLE PRECISION,
  PDBL_RATE_OF_FIRE_RPM_OR_OUT DOUBLE PRECISION,
  PCHR_MUZZLE_VELOCITY_MSMT_OUT CHAR(2),
  PDBL_MUZZLE_VELOCITY_OUT DOUBLE PRECISION,
  PDBL_MUZZLE_VELOCITY_OR_OUT DOUBLE PRECISION,
  PCHR_EFF_FIRE_RANGE_MSMT_OUT CHAR(2),
  PDBL_EFF_FIRE_RANGE_OUT DOUBLE PRECISION,
  PDBL_EFF_FIRE_RANGE_OR_OUT DOUBLE PRECISION,
  PDBL_EFF_FIRE_MAX_RANGE_OUT DOUBLE PRECISION,
  PDBL_EFF_FIRE_MAX_RANGE_OR_OUT DOUBLE PRECISION,
  PDBL_RELIABLE_FIRING_PCT_OUT DOUBLE PRECISION,
  PDBL_RELIABLE_FIRING_PCT_OR_OUT DOUBLE PRECISION,
  PI_ROUNDS_BEFORE_FAILURE_OUT INTEGER,
  PI_ROUNDS_BEFORE_FAILURE_OR_OUT INTEGER,
  PS_SIGHT_TYPE_OUT VARCHAR(20),
  PBOOL_HAS_RAIL_SYSTEM_OUT BOOLEAN,
  PS_RAIL_ACCOUTREMENTS_OUT VARCHAR(300),
  PS_RAIL_ACCOUTREMENT_V_OUT VARCHAR(300),
  PS_RAIL_ACCOUTREMENT_V_OR_OUT VARCHAR(300),
  PI_INITIAL_TOTAL_AMMO_OUT INTEGER,
  PI_INITIAL_TOTAL_AMMO_OR_OUT INTEGER)
AS
BEGIN
  FOR
    SELECT EELSA_KEY,
           EELSA_EQUIPMENT_KEY,
           EELSA_WEAPON_TYPE,
           EELSA_WEIGHT_MSMT,
           EELSA_WEIGHT,
           EELSA_WEIGHT_OR,
           EELSA_CALIBER_MSMT,
           EELSA_CALIBER,
           EELSA_CALIBER_OR,
           EELSA_BARREL_LENGTH_MSMT,
           EELSA_BARREL_LENGTH,
           EELSA_BARREL_LENGTH_OR,
           EELSA_RIFLING_TWIST_RATE,
           EELSA_RIFLING_TWIST_RATE_OR,
           EELSA_ACTION_TYPE,
           EELSA_FEED_SYSTEM,
           EELSA_FIRE_MODE,
           EELSA_RELOAD_TIME_IN_SECS,
           EELSA_RELOAD_TIME_IN_SECS_OR,
           EELSA_MAGAZINE_CAPACITY,
           EELSA_MAGAZINE_CAPACITY_OR,
           EELSA_RATE_OF_FIRE_RPM,
           EELSA_RATE_OF_FIRE_RPM_OR,
           EELSA_MUZZLE_VELOCITY_MSMT,
           EELSA_MUZZLE_VELOCITY,
           EELSA_MUZZLE_VELOCITY_OR,
           EELSA_EFF_FIRE_RANGE_MSMT,
           EELSA_EFF_FIRE_RANGE,
           EELSA_EFF_FIRE_RANGE_OR,
           EELSA_EFF_FIRE_MAX_RANGE,
           EELSA_EFF_FIRE_MAX_RANGE_OR,
           EELSA_RELIABLE_FIRING_PCT,
           EELSA_RELIABLE_FIRING_PCT_OR,
           EELSA_ROUNDS_BEFORE_FAILURE,
           EELSA_ROUNDS_BEFORE_FAILURE_OR,
           EELSA_SIGHT_TYPE,
           EELSA_HAS_RAIL_SYSTEM,
           EELSA_RAIL_ACCOUTREMENTS,
           EELSA_RAIL_ACCOUTREMENT_MODIFIERS,
           EELSA_RAIL_ACCOUTREMENT_MODIFIERS_OR,
           EELSA_INITIAL_TOTAL_AMMO,
           EELSA_INITIAL_TOTAL_AMMO_OR
        FROM EQUIPMENT_EL_SMALL_ARMS
        WHERE :PI_KEY_IN = EELSA_KEY
        INTO :PI_KEY_OUT,
             :PI_EQUIPMENT_KEY_OUT,
             :PS_WEAPON_TYPE_OUT,
             :PCHR_WEIGHT_MSMT_OUT,
             :PDBL_WEIGHT_OUT,
             :PDBL_WEIGHT_OR_OUT,
             :PCHR_CALIBER_MSMT_OUT,
             :PDBL_CALIBER_OUT,
             :PDBL_CALIBER_OR_OUT,
             :PCHR_BARREL_LENGTH_MSMT_OUT,
             :PDBL_BARREL_LENGTH_OUT,
             :PDBL_BARREL_LENGTH_OR_OUT,
             :PS_RIFLING_TWIST_RATE_OUT,
             :PS_RIFLING_TWIST_RATE_OR_OUT,
             :PS_ACTION_TYPE_OUT,
             :PS_FEED_SYSTEM_OUT,
             :PS_FIRE_MODE_OUT,
             :PI_RELOAD_TIME_IN_SECS_OUT,
             :PI_RELOAD_TIME_IN_SECS_OR_OUT,
             :PI_MAGAZINE_CAPACITY_OUT,
             :PI_MAGAZINE_CAPACITY_OR_OUT,
             :PDBL_RATE_OF_FIRE_RPM_OUT,
             :PDBL_RATE_OF_FIRE_RPM_OR_OUT,
             :PCHR_MUZZLE_VELOCITY_MSMT_OUT,
             :PDBL_MUZZLE_VELOCITY_OUT,
             :PDBL_MUZZLE_VELOCITY_OR_OUT,
             :PCHR_EFF_FIRE_RANGE_MSMT_OUT,
             :PDBL_EFF_FIRE_RANGE_OUT,
             :PDBL_EFF_FIRE_RANGE_OR_OUT,
             :PDBL_EFF_FIRE_MAX_RANGE_OUT,
             :PDBL_EFF_FIRE_MAX_RANGE_OR_OUT,
             :PDBL_RELIABLE_FIRING_PCT_OUT,
             :PDBL_RELIABLE_FIRING_PCT_OR_OUT,
             :PI_ROUNDS_BEFORE_FAILURE_OUT,
             :PI_ROUNDS_BEFORE_FAILURE_OR_OUT,
             :PS_SIGHT_TYPE_OUT,
             :PBOOL_HAS_RAIL_SYSTEM_OUT,
             :PS_RAIL_ACCOUTREMENTS_OUT,
             :PS_RAIL_ACCOUTREMENT_V_OUT,
             :PS_RAIL_ACCOUTREMENT_V_OR_OUT,
             :PI_INITIAL_TOTAL_AMMO_OUT,
             :PI_INITIAL_TOTAL_AMMO_OR_OUT
  DO  
    SUSPEND;
END;
<<<

From: firebird-n...@googlegroups.com <firebird-n...@googlegroups.com> on behalf of Jiří Činčura <ji...@cincura.net>
Sent: Monday, July 20, 2026 2:11 PM
To: 'Mr. John' via firebird-net-provider <firebird-n...@googlegroups.com>
Subject: Re: [firebird-net-provider] Re: Firebird-NET-Provider GET doesn''t allow extended length parameters
 
Do you have a repro.

--
Mgr. Jiří Činčura
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.tabsoverspaces.com%2F&data=05%7C02%7C%7Ccecf6dbffdff4133252d08dee68a6480%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C639201679218766962%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=BlC%2BFknvlAlctB%2FM6Am0yDYE4k6gjuGdbqpWAPvw%2BGk%3D&reserved=0

--
Support the ongoing development of Firebird! Consider donating to the
Firebird Foundation and help ensure its future. Every contribution makes
a difference. Learn more and donate here:
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.firebirdsql.org%2Fdonate&data=05%7C02%7C%7Ccecf6dbffdff4133252d08dee68a6480%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C639201679218793562%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=5tFWErlBTuZNS6cVeVM9dNmtNs4eUnxKHZ41YeREGME%3D&reserved=0.
---
You received this message because you are subscribed to the Google Groups "firebird-net-provider" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-net-pro...@googlegroups.com.
To view this discussion visit https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fd%2Fmsgid%2Ffirebird-net-provider%2F05a10397-0fd0-44be-80b5-7d6235f0f62f%2540app.fastmail.com&data=05%7C02%7C%7Ccecf6dbffdff4133252d08dee68a6480%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C639201679218805118%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=2Y8eyVUUOLXqeBmQT1UIXByhGw195FoCoSFuMWr1qoU%3D&reserved=0.

Steve Naidamast

unread,
Jul 21, 2026, 4:27:54 AMJul 21
to firebird-n...@googlegroups.com
Hi Mark...

Yes, I am using Firebird Embedded 4.05.

Steve Naidamast

From: 'Mark Rotteveel' via firebird-net-provider <firebird-n...@googlegroups.com>
Sent: Monday, July 20, 2026 5:10 PM
To: firebird-n...@googlegroups.com <firebird-n...@googlegroups.com>

Subject: Re: [firebird-net-provider] Re: Firebird-NET-Provider GET doesn''t allow extended length parameters
--
Support the ongoing development of Firebird! Consider donating to the
Firebird Foundation and help ensure its future. Every contribution makes
a difference. Learn more and donate here:

---
You received this message because you are subscribed to the Google Groups "firebird-net-provider" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-net-pro...@googlegroups.com.

Jiří Činčura

unread,
Jul 21, 2026, 4:46:06 AMJul 21
to 'Mr. John' via firebird-net-provider
Yeah, then it is probably the XSQLDA/XSQLVAR. Create a self contained repro and create issue on GitHub.

--
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/
Reply all
Reply to author
Forward
0 new messages