firebirdsql / netprovider Goto Github PK
View Code? Open in Web Editor NEWFirebird ADO.NET Data Provider
Home Page: https://www.firebirdsql.org/en/net-provider/
License: Other
Firebird ADO.NET Data Provider
Home Page: https://www.firebirdsql.org/en/net-provider/
License: Other
Submitted by: @carlosga
Assigned to: @carlosga
SFID: 1013031#
Submitted By: carlosga_fb
FbDataReader.GetSchemaTable returns incorrect values in
the NumericPrecision column for Numeri and decimal data
types.
IT should be fixed in 1.6 amd 1.7.
Inittially reported in the list by Alex Prudkiy as a
problem with the FbDataAdapter)
Submitted by: jerry22 (jerry22)
Assigned to: @carlosga
Attachments:
FbConnectionPool.patch
SFID: 1007104#
Submitted By: jerry22
When checking the connection expiration in
FbConnectionPool, ticks are compared with seconds; it
implies that the connections are closed before
Connection Lifetime expires.
Submitted by: lancelotpnl (lancelotpnl)
Assigned to: @carlosga
SFID: 1499052#
Submitted By: lancelotpnl
A FbDataReader Query joining a table containing a
unique column constraint to another table throws a
System.Data.ConstraintException when using the
DataTable.Load(IDataReader) method and an
FbDataReader.
OS:
Windows XP Pro (All patches and Service Packs current)
FB Version:
Firebird Embedded Ver 1.5.3.4870
.NET Provider 2.0 RC4
Database structure:
Table1
activity_timeline_event (structure doesn't matter)
Table2
CREATE TABLE ACTIVITY (
ACTIVITY_ID INTEGER NOT NULL,
ACTIVITY_NAME VARCHAR(50) CHARACTER SET NONE NOT
NULL COLLATE NONE);
ALTER TABLE ACTIVITY ADD CONSTRAINT PK_ACTIVITY
PRIMARY KEY (ACTIVITY_ID);
ALTER TABLE ACTIVITY ADD CONSTRAINT UK_ACTIVITY_NAME
UNIQUE (ACTIVITY_NAME);
SQL:
SELECT E.*, A.activity_name
FROM activity_timeline_event E
JOIN activity A ON A.activity_id = E.activity_id
C# Code:
DataTable tbl = new DataTable();
using (IDataReader reader = cmd.ExecuteReader
(CommandBehavior.CloseConnection))
{
tbl.BeginLoadData();
tbl.Load(reader);
tbl.EndLoadData();
}
Exception thrown on tbl.Load(reader):
System.Data.ConstraintException
Exception Message:
"Failed to enable constraints. One or more rows
contain values violating non-null, unique, or foreign-
key constraints."
Examining the tbl errors reveals cause:
DataRow[] rows = tbl.GetErrors();
"Column 'ACTIVITY_NAME' is constrained to be unique.
Value 'Clerk_Email' is already present."
Submitted by: @carlosga
Assigned to: @carlosga
SFID: 903404#
Submitted By: carlosga_fb
The new Regex used for the named parameters supprot is
not working in all cases and example:
select http://MAIN.NAME, CODE1.CODE_STR, CODE2.CODE_STR
from MAIN
join CODE_TABLE CODE1 on ((CODE1.CODE_LANG = @language)
and (CODE1.CODE_NAME = 'YN') and (CODE1.CODE_VALUE =
MAIN.VALUE_1))
join CODE_TABLE CODE2 on ((CODE2.CODE_LANG = @language)
and (CODE2.CODE_NAME = 'YN') and (CODE2.CODE_VALUE =
MAIN.VALUE_2))
order by http://MAIN.NAME
this will result on:
select http://MAIN.NAME, CODE1.CODE_STR, CODE2.CODE_STR
from MAIN
join CODE_TABLE CODE1 on ((CODE1.CODE_LANG = ?) and
(CODE1.CODE_NAME = 'YN') and (CODE1.CODE_VALUE =
MAIN.VALUE_1))
join CODE_TABLE CODE2 on ((CODE2.CODE_LANG = @language)
and (CODE2.CODE_NAME = 'YN') and (CODE2.CODE_VALUE =
MAIN.VALUE_2))
order by http://MAIN.NAME
That it's not correct.
Reported by: Zsombor Cserna
Submitted by: igoris (igoris)
Assigned to: @carlosga
SFID: 1004055#
Submitted By: igoris
FbConnectionString miss semicolon between MaxPoolSize
and ServerType when produce string with ToString().
This bug appears when ServerType is set.
Bug found in FirebirdNETProvider1.7 Alpha2
Sample code:
FbConnectionString connStr = new FbConnectionString
();
connStr.Database = "c:/Desktop.fdb";
connStr.UserName = "SYSDBA";
connStr.UserPassword = "masterkey";
connStr.Dialect = 3;
connStr.MaxPoolSize = 100;
connStr.ServerType = 1;
Console.WriteLine(connStr.ToString());
Result:
Data Source=localhost;Database=c:/Desktop.fdb;User
Id=SYSDBA;Password=masterkey;Dialect=3;Charset=Non
e;Pooling=True;Connection
Lifetime=0;Role=;PacketSize=8192;Connection
Timeout=;Pooling=True;Min pool size=;Max pool
size=100ServerType=1
Submitted by: carlokok (carlokok)
Assigned to: @carlosga
SFID: 1470874#
Submitted By: carlokok
Blobs in FB seem to support stream like access in the
Firebird C api, but the .net provider doesn't support
this. My feature request is to support stream like
access to blobs so it's not needed to load the whole
blob in memory to read out part of it.
Submitted by: christofs (christofs)
Assigned to: @carlosga
SFID: 1123122#
Submitted By: christofs
Hello,
I have the following problem:
I have installed the Firebird Provider 1.7 RC1 with Delphi
2005.
It works good, but only I set the connectionstring in the
code.
If I set the code in the IDE with the connectionString
assistent the follow error message is come:
orginal:
Die Kultur "de" ist neutral. Sie kann nicht als die aktuelle
Threadkultur festgelegt werden, da sie nicht zum
Formatieren und Verarbeiten verwendet werden kann.
translated:
The culture "de" is not neutral. The can't set as
threadculture, because there is no formatting or no
handling with it.
Thats a problem I can't set the fbConnection Object
only directly in the code.
Have you a solution for that?
Greetings
Christof
Submitted by: gregoryp (gregoryp)
Assigned to: @carlosga
SFID: 1017108#
Submitted By: gregoryp
I'm using the FbCommand.FillSchema to fill a dataset :
cmd.FillSchema ( dataset,SchemaType.Source, "TABLE" )
...
My query returns about 40 columns ( with lots of joins )
and i'm getting the following error :
System.Data.InvalidConstraintException: Cannot have
more than 32 columns. at
System.Data.DataKey.Create(DataColumn[] columns,
Int32[] sortOrders) at
System.Data.UniqueConstraint.Create(String
constraintName, DataColumn[] columns) at
System.Data.UniqueConstraint..ctor(String name,
DataColumn[] columns) at
System.Data.Common.SchemaMapping.SetupSchemaWith
KeyInfo(MissingMappingAction mappingAction,
MissingSchemaAction schemaAction, Boolean
gettingData, DataColumn parentChapterColumn, Object
chapterValue) at
System.Data.Common.SchemaMapping.SetupSchema
(SchemaType schemaType, String sourceTableName,
Boolean gettingData, DataColumn parentChapterColumn,
Object parentChapterValue) at
System.Data.Common.DbDataAdapter.FillSchemaFromCom
mand(Object data, SchemaType schemaType,
IDbCommand command, String srcTable,
CommandBehavior behavior) at
System.Data.Common.DbDataAdapter.FillSchema
(DataSet dataSet, SchemaType schemaType,
IDbCommand command, String srcTable,
CommandBehavior behavior) at
System.Data.Common.DbDataAdapter.FillSchema
(DataSet dataSet, SchemaType schemaType, String
srcTable) at
MyQuery.exec()
-------
It seems that it is trying to create a PrimaryKey with all
the columns on the table... thats is very wierd ...
Submitted by: Meghna Patel (meghna)
Assigned to: @carlosga
Hello,
Version of Firebird I am using :-Firebird 2.00 Release Candidate 2. I am using http://ADO.NET as data provider with http://VB.NET and embedded server db.
I have a large file about 600 MB in size and i would like to store it in BLOB, now if i store the entire file in an array, the memory occupied is high.
So what i would like to do is send 100 MB in parts in a BLOB until the entire file is read and store it the BLOB, i.e i want to append chunks of 100 MB of data each to the BLOB.
I have tried following approach:- Inserting BLOB data using byte array, filestream, binaryreader.
Is there a way to append chunks of data to existing BLOBs(in the new version Firebird 2.00 Release Candidate 2)? or any other "textptr" type function as available with SQL Server to get a pointer of BLOB?
Thank you,
Meghna
Submitted by: cosmin_84 (cosmin_84)
Assigned to: @carlosga
SFID: 1423474#
Submitted By: cosmin_84
When using command text with named parameters, if you
set the type of the paramater using the DBType property
for GUID values, the FbDBType is not set properly and
the execution of the command fails.
The problem is at line 340 in
FirebirdSql.Data.Firebird.FbParameter.cs: TypeCode code
= Type.GetTypeCode(value.GetType());
GetTypeCode does not return the "System.Guid" if the
type of value has been set to Guid using DbType
property, and not FbDbType property.
You should replace the GetTypeCode function or put an
if before this line.
ex:
if (value is Guid)
{
this.fbType = FbDbType.Guid;
return;
}
Thanks,
Cosmin Urdea,
Romania.
Submitted by: nickweedon (nickweedon)
Assigned to: @carlosga
Attachments:
FBExceptionErrorTest.zip
SFID: 1242812#
Submitted By: nickweedon
A "System.NullReferenceException" exception is raised
when an FBException is disposed of when the database
connection object which conveyed the offending
database operation is closed before the FBException
object is disposed of.
The situation appears to arise when the database
connection object which the FBException is pertinent
(i.e. the database connection on which the failed
operation occured) to is closed before the FBException
is disposed of.
An pseudocode example:
public shared sub main()
try
ReadSomeData()
catch(ex as Exception)
MsgBox(ex.ToString)
end try
gc.Collect ' The erroneous exception will occur here
end sub
public shared sub ReadSomeData()
try
{ execute a fill command on datatable object, which
results in an error because the described table of the
select command does not exist within the database }
{ fill command raises an FBException }
catch(ex as Exception)
' Throw a new exception, encapsulating the
FBException object.
throw new Exception("An Error Occured", ex)
finally
Connection.Close ' Always close the connection (even
after this exception)
end catch
end sub
ENVIRONMENT DETAILS:
Firbird .NET Provider Version: 1.7a
Firebird Database Version: 1.5.2.4731
OS: Windows XP (service pack 2)
Submitted by: claesbrandt (claesbrandt)
Assigned to: @carlosga
SFID: 991631#
Submitted By: claesbrandt
Would be nice to be able to autogenerate datasets in
Visual Studio .Net, as you can do with the SQL Server
DataAdapter.
Submitted by: Petr Vones (pvones)
Assigned to: @carlosga
SFID: 1453414#
Submitted By: pvones
FbConnection.Close throws FbException in case TCP
connection was broken during performing database
operation. The FbConnection object is still
in "opened" state while the underlying connection is
lost. The connection can not be reopened by calling
Open method (throws
InvalidOperationException "Connection already Open").
The bug persists from older versions of .NET provider
(1.6.x)
OS: Microsoft .NET Framework 2.0
.Net Provider: 2.0 Beta 4
FB Server: 1.5.3.4870
See attached example application for details.
Submitted by: kitdotnet (kitdotnet)
Assigned to: @carlosga
SFID: 1465470#
Submitted By: kitdotnet
I am encountering strange behaviour while trying to
fill a DataTable using DISTINCT.
The (simplified) select statement is:
"SELECT DISTINCT ID, TITLE FROM TABLE1 LEFT JOIN TABLE2
ON (http://TABLE1.ID = TABLE2.REFID) WHERE TABLE2.GRP = 1"
My application hangs forever but if I pause execution,
I can see the exception:
System.Exception {System.AccessViolationException}
"Der Ausdruck kann nicht ausgewertet werden, da sich
ein systemeigener Frame oben in der Aufrufliste befindet."
translated into English: "The expression cannot be
evaluated because a system-own frame is on top of the
CallStack"
If I omit the DISTINCT, the query is
"SELECT ID, TITLE FROM TABLE1 LEFT JOIN TABLE2 ON
(http://TABLE1.ID = TABLE2.REFID)"
and it just runs fine, but I must avoid duplicate IDs
and so I need the DISTINCT.
In iSQL/SQLManager 2005/ibWebAdmin the original query
with DISTINCT works perfectly, but using the Provider
for .NET Framework 2.0 RC1 I get only the freeze of the
app.
Please help me :(
Submitted by: ziaw (ziaw)
Assigned to: @carlosga
Attachments:
ParseNamedParameters.cs
SFID: 1256652#
Submitted By: ziaw
With large sql string parsing parameters is very slow,
due to using RegExp library. some my queries created by
nhibernate parsed in >7 seconds, and executing in 0.040
sec.
I rewrote ParseNamedParameters for fix this issue.
Only function code in attached file.
contact me if any questions to mailto:[email protected] please.
Submitted by: ponder_stibbons (ponder_stibbons)
Assigned to: @carlosga
SFID: 1039828#
Submitted By: ponder_stibbons
hi
for testing I created a little database with one table.
If I open a Connection to the DB the server crashes always
at the 16380. insert statement (fbserver.exe:
terminated abnormally (4294967295) ).
Using a new Connection for every insert is working.
I add a zip with the Database, and the testapplication.
using firebird-1.5.1,.net-1.1 and .net-1.7a3 provider.
using interbase-6.5 instead of firebird with the same
application has the same problem.
regards Mark
Submitted by: aponzio (aponzio)
Assigned to: @carlosga
SFID: 1040433#
Submitted By: aponzio
Hi Firebird group,
I am using .NET Provider 1.7 (Beta) and the method
AddUser returning an error.
If I fill structure:
userData = new FbUserData();
security = new FbSecurity();
userData.FirstName = textUser.Text;
userData.LastName = textUser.Text;
userData.UserName = textUser.Text;
userData.UserPassword = textPassword.Text;
security.AddUser(userData);
the system display message error of UserID.
I see the source code, the UserID is integer but the
source code check:
if the field is == NULL or UserID.Lenght == 0 -- but the
field is an integer!!
How can I use the methods present into FbSecurity?
Exist a workaround?
Thansk,
Andrea Ponzio
Submitted by: fankof (fankof)
Assigned to: @carlosga
SFID: 1377165#
Submitted By: fankof
Hi. I'm new in firebird. I want know if there's some
way for create a user in firebird from .NET
application, maybe a stored procedure or udf, thanks
for pay attention.
Submitted by: fecton (fecton)
Assigned to: @carlosga
SFID: 1490166#
Submitted By: fecton
Because I have to compare strings in a web application
i set the charset property of the ConnectionString
(Win1252).
at runtime i get following exception when i compare
german "Umlaute" like "????", "????", "????".
[FirebirdSql.Data.FirebirdClient.FbException]
{"arithmetic exception, numeric overflow, or string
truncation\r\nCannot transliterate character between
character sets"}
FirebirdSql.Data.FirebirdClient.FbException
at run time when i look at the FbConnection object, i
recognized that the Charset-Property is NONE although
i put Win1252 into the connectionstring.
i also tried to build the connection string with the
integrated class FbConnectionStringBuilder, but same
problem: charset property is not set at runtime.
-----
OS: Windows XP Pro, SP2
Visual Studio 2005 Pro (Version 8.0.50727.42)
.NET Framework 2.0.50727
Firebird .NET Provider 2.0 RC3
-----
by the way, with Firebird .NET Provider 1.7 and .NET
Framework 1.1 it worked without problems.
Submitted by: matt_inrad (matt_inrad)
Assigned to: @carlosga
SFID: 881452#
Submitted By: matt_inrad
By default, FbCommand.Transaction is null. I believe
that it should also be allowed to reset the Transaction
property to null. Instead, a NullReference exception
is thrown because of line 229 in FbCommand.cs:
this.statement.Transaction = this.transaction.Transaction;
I've implemented a custom data adapter that works with
stored procedures, and I'd like for it to use the
existing transactions assigned to the commands if they
exist (meaning that they're not null), otherwise I'd
like for it to create its own transaction and use it
while performing updates. For this to work, I need to
be able to reset the command objects back to their
initial state when my Update method is called, which
means setting the transaction properties back to null.
Submitted by: Cevdet Nuhrat (nuhrat)
Assigned to: @carlosga
Attachments:
WindowsApplication2.rar
FbConnectionStringBuilder fc = new FbConnectionStringBuilder();
fc.DataSource = "localhost";
fc.Database = "d:\\tp2006.gdb"; --> This line returns Value cannot be null. Parameter name: keyword
fc.Dialect = 3;
fc.Password = "***";
fc.UserID = "SYSDBA";
Used to work ok on 1.7.1 version
Submitted by: richardbrookes (richardbrookes)
Assigned to: @carlosga
SFID: 1412550#
Submitted By: richardbrookes
I am receiving an error using the .Net provider Beta 3
on a 64 Bit XP machine.
Is this a known bug.
Are there plans for the provider to be made 64bit aware?
The error is below.
at
FirebirdSql.Data.Client.Embedded.FbClient.isc_attach_database(Int32[]
statusVector, Int16 dbNameLength, Byte[] dbName, Int32&
dbHandle, Int16 parmBufferLength, Byte[] parmBuffer)
at
FirebirdSql.Data.Client.Embedded.FesDatabase.Attach(DatabaseParameterBuffer
dpb, String dataSource, Int32 port, String database)
at
FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
at
FirebirdSql.Data.FirebirdClient.FbConnectionPool.Create()
at
FirebirdSql.Data.FirebirdClient.FbConnectionPool.CheckOut()
at
FirebirdSql.Data.FirebirdClient.FbPoolManager.GetConnection(String
connectionString)
at FirebirdSql.Data.FirebirdClient.FbConnection.Open()
Submitted by: irfan karakas (irfan.karakas)
Assigned to: @carlosga
?f it can be,
Can you add showing dialogs with parameters
Thanks for Help,
Submitted by: gregoryp (gregoryp)
Assigned to: @carlosga
SFID: 1017736#
Submitted By: gregoryp
GetSchemaTable is erroneously assuming that some
columns is part of primarykey :
Snipet from FbDataReader.GetSchemaTable() :
1 FbCommand schemaCmd = new FbCommand(
2 this.GetSchemaCommandText(),
3 this.command.Connection,
4 this.command.ActiveTransaction);
5
6 schemaCmd.Parameters.Add("@TABLE_NAME",
FbDbType.Char, 31);
7 schemaCmd.Parameters.Add("@COLUMN_NAME",
FbDbType.Char, 31);
8 schemaCmd.Prepare();
9
10 schemaTable.BeginLoadData();
11 for (int i = 0; i < this.fields.Count; i++)
12 {
13 bool isKeyColumn = true;
14 bool isUnique = false;
15 bool isReadOnly = false;
16
17 /* Get Schema data for the field */
18 schemaCmd.Parameters[0].Value = this.fields
[i].Relation;
19 schemaCmd.Parameters[1].Value = this.fields
[i].Name;
20
21 FbDataReader r = schemaCmd.ExecuteReader
();
22
23 if (r.Read())
24 {
25 isReadOnly = (this.IsReadOnly
(r) || this.fields[i].IsExpression()) ? true : false;
26 isKeyColumn = (r.GetInt32(2)
== 1) ? true : false;
27 isUnique = (r.GetInt32(3) == 1) ? true :
false;
28 }
In line 13 isKeyColumn is initialized to TRUE.
Then "schemaCmd" is executed to retrive some
information about the column based on it's "Relation
Name",
and it's "Name".
If "schemaCmd" returns a row then isKeyColumn is
updated to the value returned,
otherwise it remains TRUE.
The Problem :
In the case of SELECT with UNIONS "RELATION" is
empty for all fields. Because a single column can have
data
from mutiple relations.
In the case of a calculated field ( (a + b) /
100 ) "RELATION" is empty.
Some cases that I couldn't determine "NAME" is empty
too.
So whenever the "RELATION" or "NAME" is empty that
columns is set as KEYCOLUMN.
Besides of the overhead that this produce it sets
some columns as KEYCOLUMN, creating a primary key,
but these column are likely to have repeated values
throwing a error when filling the dataset.
And when a result set has more than 32 columns a
error is thrown because ms .NET DataTable don't
support
a PrimaryKey with more than 32 columns.
This method is widely used by the ADO .NET so it's
very important that it functions correctly.
Suggestions :
I would suggest that isKeyColumn is set to FALSE by
defaut.
I would suggest that whenever RELATION or NAME is
empty , not to execute schemaCmd cause it will always
return
no data.
Submitted by: parnaud (parnaud)
Assigned to: @carlosga
SFID: 794752#
Submitted By: parnaud
I did a very simple test with .NET Provider 1.5, and I get
a systematic crash in property 'get' of
FbCommand.RecordsAffected, with statement == null.
Here is my code snippet :
///////////////
FbCommand command = connection.CreateCommand ();
command.CommandType =
System.Data.CommandType.Text;
command.CommandText = "SELECT * FROM
RDB$DATABASE;";
System.Data.IDataAdapter adapter = new
FbDataAdapter (command);
System.Data.DataSet dataset = new
System.Data.DataSet ();
adapter.Fill (dataset);
///////////////
When executing the Fill, a GdsStatement object gets
created in FbCommand.InternalPrepare, and then an
internal FbDataReader calls command.NextResult, which
results in FbCommand.NextResult dropping the
statement and setting it to null.
However, somewhat later, that same internal
FbDataReader gets disposed, which causes Close, then
updateRecordsAffected and RecordsAffected to be
called, which results in an access to statement, which is
null, and causes the crash.
I have fixed FbCommand.RecordsAffected like so:
internal int RecordsAffected
{
get { return statement == null ? -1 :
statement.RecordsAffected; }
}
but I don't know if this is the right kind of fix.
Submitted by: vic2005 (vic2005)
Assigned to: @carlosga
SFID: 1121431#
Submitted By: vic2005
On Last provider 1.7 rc1 on Borland Delphi 8, 2005 insert
to form dataadapter error of
System/InvalidCastException: Specified cast is not valid.
at
FirebirdSql.WizardFramework.WelcomeStep.InitializeComp
onent(), at ... at ..RunConfigurationWizard().
On my XP SP2 f/w 1.1.4322
Submitted by: yreynhout (yreynhout)
Assigned to: @carlosga
Attachments:
FbPoolManager.cs
FbConnectionTest.cs.patch
SFID: 1489770#
Submitted By: yreynhout
Calling FbConnection.ClearAllPools when no connection
has been established before, throws a
NullReferenceException.
Attached is a patch for the FbConnectionTests which
proves my point.
The problem is 'pools' member variable in
FbPoolManager. Its lazy init is at the root of the
problem because not all code is checking for the fact
that 'pools' is null (as is the case in
FbPoolManager.ClearAllPools() and
FbPoolManager.ClearPool(string connectionString)).
Found both in RC4 & RC3
I'd fix it myself, but SF.CVS is throwing on me ...
Submitted by: Jojakim Stahl (jstahl)
Assigned to: @carlosga
SFID: 634934#
Submitted By: jstahl
The file Resources/isc_encodings.txt contains a wrong
mapping for UNICODE_FSS.
Wrong:
UNICODE_FSS=UTF8
Right:
UNICODE_FSS=UTF-8
Submitted by: @carlosga
Assigned to: @carlosga
SFID: 827408#
Submitted By: carlosga_fb
Hello Carlos!
I am have probler with
FbCommandBuilder.DeriveParameters() too.
I create this procedure:
--------------------------------------------
CREATE PROCEDURE MYPROC
RETURNS (
"id" INTEGER)
AS
begin
"id" = 777;
end
--------------------------------------------
And this code:
--------------------------------------------
using System;
using System.Data;
using System.Data.Common;
using FirebirdSql.Data.Firebird;
namespace ConsoleApplication
{
class MainClass
{
static private readonly string ConnectionString =
@"Server=80.80.104.12;Database=c:\temp\carlos.gdb;Charset=UNICODE_FSS;Connec
tion Lifetime=15;Dialect=3;User=carlos;Password=carlos;";
static void Main(string[] args)
{
FbConnection connection = new
FbConnection(ConnectionString);
connection.Open();
FbTransaction transaction = connection.BeginTransaction();
FbCommand command = new FbCommand("MYPROC", connection,
transaction);
command.CommandType = CommandType.StoredProcedure;
FbCommandBuilder.DeriveParameters(command);
transaction.Commit();
connection.Close();
}
}
}
--------------------------------------------
I catch exception:
Unhandled Exception:
FirebirdSql.Data.Firebird.FbException: Execute requires
the Command object to have a Transaction object when
the Connection object
assigned to the command is in a pending local
transaction. The Transaction
property of the Command has not been initialized.
at
FirebirdSql.Data.Firebird.DbSchema.FbAbstractDbSchema.GetDbSchemaTable(FbCon
nection connection, Object[] restrictions)
at
FirebirdSql.Data.Firebird.FbConnection.GetDbSchemaTable(FbDbSchemaType
schema, Object[] restrictions)
at
FirebirdSql.Data.Firebird.FbCommandBuilder.DeriveParameters(FbCommand
command)
at ConsoleApplication.MainClass.Main(String[] args) in
c:\vss\consoleapplication3\class1.cs:line 21
Thanks.
Submitted by: cyber_sinh (cyber_sinh)
Assigned to: @carlosga
SFID: 1434596#
Submitted By: cyber_sinh
It's impossible to test Firebird 2 beta 2 with .NET
software because http://ADO.NET 2.0 beta 4 provider don't
support it:
* fbembed.dll not found;
* UTF8 character set not valid.
Submitted by: charliethacker (charliethacker)
Assigned to: @carlosga
SFID: 1116865#
Submitted By: charliethacker
I've been unsuccessful in using the BDP for stored
procedures, with Delphi 2005 and FirebirdBDP 1.0. I have
no trouble with tables,,and the meta data shown for
tables in the Data Explorer is correct. The meta data
for stored procedure paramters does not appear to be
correct. e.g character paramters show up as blobs and
integer as decimal. Also, output parameters show up as
input. Could this be the problem?
Submitted by: @carlosga
Assigned to: @carlosga
SFID: 902668#
Submitted By: carlosga_fb
The command builder class ave a call to
Datarow.AcceptChanges in the rowUpdateing event
handler, that makes fail, in the case of an update
error, the succesive calls for update of the same row.
Reported by Janusz Mars
Submitted by: delphi_wiz (delphi_wiz)
Assigned to: @carlosga
SFID: 745360#
Submitted By: delphi_wiz
FbDataAdapter and FbDataAdapter combination using
Dialect 1 only.
I have confirmed that Dialect 3 works fine, it's just
Dialect 1 that does not work.
I compiled the FbDataAdapterTest.cs unit under tests
and ran the InsertTest(). Dialect 3 Data files had the
new rows added, while Dialect 1 Data file threw the
following exception:
Additional information: Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 27
"INT_FIELD"
Submitted by: ziaw (ziaw)
Assigned to: @carlosga
SFID: 1381252#
Submitted By: ziaw
private bool IncludedInWhereClause(DataRow schemaRow)
{
if (!(bool)schemaRow["IsKey"] &&
(this.commandBuilderBehavior ==
FbCommandBuilderBehavior.KeyFields ||
this.commandBuilderBehavior ==
FbCommandBuilderBehavior.KeyAndTimestampFields))
{
if (this.timestampColumnName !=
schemaRow["BaseColumnName"].ToString())
{
return false;
}
}
this code never returns false, and thus all the fields
are included in where clause.
The correct code, i think:
private bool IncludedInWhereClause(DataRow schemaRow)
{
if (!(bool)schemaRow["IsKey"] &&
!(this.commandBuilderBehavior ==
FbCommandBuilderBehavior.KeyFields ||
this.commandBuilderBehavior ==
FbCommandBuilderBehavior.KeyAndTimestampFields))
{
if (this.timestampColumnName !=
schemaRow["BaseColumnName"].ToString())
{
return false;
}
}
Submitted by: jtitley (jtitley)
Assigned to: @carlosga
SFID: 1198051#
Submitted By: jtitley
The FbDataBaseInfo class doesn't expose the firebird
ability to display users connected to a database. There
is no technical reason why this can not be.
The following lines of code rectify the problem. Ask that
this be included in the next release:
FbDatabaseInfo.cs
FirebirdSql.data.Firebird.FbDataBaseInfo
public System.Collections.ArrayList UserNames
{
get { return this.GetStrings
(IscCodes.isc_info_user_names); }
}
private System.Collections.ArrayList GetStrings(byte
item)
{
this.checkConnection();
IDbAttachment db =
this.Connection.DbConnection.DB;
byte[] items = new byte[]
{
item,
IscCodes.isc_info_end
};
return db.GetDatabaseInfo(items);
}
FirebirdSql.Data.Common.IscHelper
case IscCodes.isc_info_user_names:
info.Add(Encoding.Default.GetString(buffer,
pos+1 , buffer[pos]));
break;
Submitted by: matt_inrad (matt_inrad)
Assigned to: @carlosga
SFID: 924192#
Submitted By: matt_inrad
FbException should be serializable so that it can be
passed across Remoting boundaries. Most of the .NET
framework exceptions are serializable for this reason.
Submitted by: gregoryp (gregoryp)
Assigned to: @carlosga
SFID: 1015453#
Submitted By: gregoryp
Hi,
I'm getting the following error when I access the
property "CommandPLan" of the FBCommand object :
{
System.ArgumentOutOfRangeException: Non-negative
number required.
Parameter name: count
at System.Text.CodePageEncoding.GetCharCount(Byte
[] bytes, Int32 index, Int32 count)
at System.Text.Encoding.GetChars(Byte[] bytes,
Int32 index, Int32 count)
at System.Text.Encoding.GetString(Byte[] bytes,
Int32 index, Int32 count)
at
FirebirdSql.Data.Common.StatementBase.GetExecutionPla
n()
at
FirebirdSql.Data.Firebird.FbCommand.get_CommandPlan()
at MyQuery.GetPlan(String dBase, String sql)
}
It only happens when the size of the command's plan is
greater then 1024.
I checked the code, and found that the problem is at :
FirebirdSql.Data.Common.StatementBase.GetExecutionPla
n()
--> this.GetSqlInfo
(StatementBase.DescribePlanInfoItems, 1024);
<--
Submitted by: fabiano (fabiano)
Assigned to: @carlosga
SFID: 1257950#
Submitted By: fabiano
FbCommand.Clone() is not copying the property
CommandTimeOut
Regards,
Fabiano Rezende
Submitted by: nmilich (nmilich)
Assigned to: @carlosga
SFID: 1417618#
Submitted By: nmilich
When I select a numeric computable column from a table
I get wrong result. The problem appears for Firebird
.Net provider 1.7.1RC3 and does not appear for 1.6.3
and 1.7.0a.
I use Firebird 1.5.3 under Windows and .Net Framework 1.1
Failing test is attached.
Submitted by: minkatav (minkatav)
Assigned to: @carlosga
SFID: 1118432#
Submitted By: minkatav
I have a very strange problem and would like to ask you
is it a bug or I am doing something wrong?I am using
Firebird .Net provider to access an Interbase 6.0
database, the problem is that when I select many
records the datareader jams when it gets to the 40401
record.I tryed to select only those records that are after
the problem line - it also jamed, I also tryed to load the
data in dataset - the same thing happened - the CPu
starts working on 100% all of the CPU persentage is
used by Ibserver process. The query I am using is rather
simple - "select ID from tblTable where ID>40401" The
query works when the sing in the "where" clause is "="
or "<". I tryed to run the query in the Interbase console
and it returned the desired data - can you please give
me some advice what should I do and is it a bug in the
provider?
I would be very glad to receive an answer from you.
Yours sencirely
Viktor Minkovski
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.