You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-cs@ibatis.apache.org by Dan Carlton <da...@compliancedata.com> on 2007/10/18 17:56:55 UTC

Ibatis.net 1.6.1 Firebird1.7 cannot connect

Hello,

I am getting the following error when trying to connect :

Unhandled Exception: System.ArgumentException: An invalid connection 
string argu
ment has been supplied or a required connection string argument has 
not been sup
plied.
    at FirebirdSql.Data.Firebird.FbConnectionString.Validate()
    at 
FirebirdSql.Data.Firebird.FbConnection.set_ConnectionString(String value)
    at FirebirdSql.Data.Firebird.FbConnection..ctor(String connectionString)
    at FirebirdSql.Data.Firebird.FbConnection.System.ICloneable.Clone()
    at IBatisNet.Common.DbProvider.CreateConnection()
    at IBatisNet.DataMapper.SqlMapSession.CreateConnection()
    at IBatisNet.DataMapper.SqlMapper.QueryForObject(String 
statementName, Object

connection string:
database>	
<provider   name="Firebird1.7" />	
<dataSource name="Firebird1.7"
	connectionString=
	"User=dan;
	Password=dan;
	Database=c:\data\firebird\test1.fdb;
	DataSource=localhost;			
	Dialect=3;
	Pooling=false
	Charset=NONE;
	Port=3050;" />

</database>

provider.config:
<provider
	name="Firebird1.7"
	description="Firebird, Firebird SQL .NET provider V1.7.0.33200"
	enabled="true"
	assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0, 
Culture=neutral, PublicKeyToken=fa843d180294369d"
	connectionClass="FirebirdSql.Data.Firebird.FbConnection"
	commandClass="FirebirdSql.Data.Firebird.FbCommand"
	parameterClass="FirebirdSql.Data.Firebird.FbParameter"
	parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType"
	parameterDbTypeProperty="FbDbType"
	dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter"
	commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder"
	usePositionalParameters="false"
	useParameterPrefixInSql="true"
	useParameterPrefixInParameter="true"
	parameterPrefix="@"
	allowMARS="false"
/>

Notice that I changed the assemblyName information so that he would 
recognize the matching driver from V1.7.0.33200 to V1.7.0. I didn't 
have any choice about this the only .NET driver from Firebird is 
1.7.1 - but it gives the same error.

I have noticed that I am not the first with this error - However - I 
have not been able to find a fix in the archives.
The answer doesn't seem to be in trying different combinations of 
above info - I can read these databases fine with the normal .net 
provider from firebird (in the same program).

Any help would be appreciated.

Thank you. Dan Carlton



Re: Ibatis.net 1.6.1 Firebird1.7 cannot connect

Posted by Jakub Scheibe <ja...@gmail.com>.
Dan,

It's hard to say, I tested it once with small db (~30.000 records) and the
difference was around 1sec.
I also found some other difficulties with native .net drivers so I'm pretty
happy with odbc now.
Other advice - go for ODBC drivers 1.2.1 it's stable and I don't have any
problems with it, I played
a little with latest betas but sometimes it was crushing with my projects so
forget about them for now.


Cheers,
Jakub

On 18/10/2007, Dan Carlton <da...@compliancedata.com> wrote:
>
>  Jakub,
>
> Thanks for your response. I have downloaded the firebird source and
> re-build the Provider, but something ain't right. I put displays in the code
> that was failing but they didn't display - don't know what is going on. It
> appears from the logic in the code that my connection string is fine - but I
> can't display what ibatis is sending to Firebird - so I don't know.
>
> I tried the odbc driver and that works well. Do you find that there is
> much of an performance penalty for using ODBC?
>
> Thanks again.
>
> Dan Carlton
>
> At 11:17 AM 10/18/2007, you wrote:
>
> I'm working with FB1.5, but I also tested this stuff with FB2.0.
> Currently I'm using ODBC drivers but for a moment I also had Fb native
> .net drivers.
>
> Here is my connectionstring from properties.config
>
> ODBC:
> <add key="connectionString" value="DRIVER={Firebird/InterBase(r)
> driver};Dialect=3;PASSWORD=pass;UID=USERID;DBNAME=localhost:c:\MYDB.FDB"/>
>
> .NET Drivers
> <add key="connectionString"
> value="User=USERID;Password=pass;Database=C:\\MYDB.FDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection
> lifetime=0;Connection timeout=15;Pooling=True;Packet Size=8192;Server
> Type=0"/>
>
> And here are providers from providers.config
>
> ODBC:
> <provider
>     name="Odbc1.1"
>     description="Odbc, provider V1.0.5000.0 in framework .NET V1.1"
>     enabled="true"
>     assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089" connectionClass="
> System.Data.Odbc.OdbcConnection"
>     commandClass="System.Data.Odbc.OdbcCommand "
>     parameterClass="System.Data.Odbc.OdbcParameter"
>     parameterDbTypeClass="System.Data.Odbc.OdbcType"
>     parameterDbTypeProperty="OdbcType"
>     dataAdapterClass=" System.Data.Odbc.OdbcDataAdapter"
>     commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder"
>     usePositionalParameters="true"
>     useParameterPrefixInSql="false"
>     useParameterPrefixInParameter="false"
>     parameterPrefix=""/>
>
> .NET
> <provider
>     name="Firebird2.0"
>     description="Firebird, FirebirdClient - ADO.NET 2.0 Data Provider"
>     enabled="false"
>     assemblyName="FirebirdSql.Data.FirebirdClient , Version=2.0.1.0,
> Culture=neutral, PublicKeyToken=3750abcc3150b00c"
>     connectionClass="FirebirdSql.Data.FirebirdClient.FbConnection "
>
>     commandClass="FirebirdSql.Data.FirebirdClient.FbCommand"
>     parameterClass="FirebirdSql.Data.FirebirdClient.FbParameter"
>     parameterDbTypeClass="FirebirdSql.Data.FirebirdClient.FbDbType "
>     parameterDbTypeProperty="FbDbType"
>     dataAdapterClass="FirebirdSql.Data.FirebirdClient.FbDataAdapter"
>     commandBuilderClass="FirebirdSql.Data.FirebirdClient.FbCommandBuilder"
>     usePositionalParameters="true"
>     useParameterPrefixInSql="false"
>     useParameterPrefixInParameter="false"
>     parameterPrefix="@"/>
>
> Hope that this stuff will help you.
>
> Cheers,
> Jakub
>
>
> On 18/10/2007, *Dan Carlton* <dan@compliancedata.com > wrote:
>  Hello,
>
> I am getting the following error when trying to connect :
>
> Unhandled Exception: System.ArgumentException: An invalid connection
> string argu
> ment has been supplied or a required connection string argument has
> not been sup
> plied.
>     at FirebirdSql.Data.Firebird.FbConnectionString.Validate()
>     at
> FirebirdSql.Data.Firebird.FbConnection.set_ConnectionString(String value)
>     at FirebirdSql.Data.Firebird.FbConnection..ctor (String
> connectionString)
>     at FirebirdSql.Data.Firebird.FbConnection.System.ICloneable.Clone()
>     at IBatisNet.Common.DbProvider.CreateConnection()
>     at IBatisNet.DataMapper.SqlMapSession.CreateConnection()
>     at IBatisNet.DataMapper.SqlMapper.QueryForObject(String
> statementName, Object
>
> connection string:
> database>
> <provider   name="Firebird1.7" />
> <dataSource name="Firebird1.7 "
>         connectionString=
>         "User=dan;
>         Password=dan;
>         Database=c:\data\firebird\test1.fdb;
>         DataSource=localhost;
>         Dialect=3;
>         Pooling=false
>         Charset=NONE;
>         Port=3050;" />
>
> </database>
>
> provider.config:
> <provider
>         name="Firebird1.7"
>         description="Firebird, Firebird SQL .NET provider V1.7.0.33200"
>         enabled="true"
>         assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0,
> Culture=neutral, PublicKeyToken=fa843d180294369d"
>         connectionClass="FirebirdSql.Data.Firebird.FbConnection "
>         commandClass="FirebirdSql.Data.Firebird.FbCommand"
>         parameterClass="FirebirdSql.Data.Firebird.FbParameter"
>         parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType "
>         parameterDbTypeProperty="FbDbType"
>         dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter"
>         commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder "
>         usePositionalParameters="false"
>         useParameterPrefixInSql="true"
>         useParameterPrefixInParameter="true"
>         parameterPrefix="@"
>         allowMARS="false"
> />
>
> Notice that I changed the assemblyName information so that he would
> recognize the matching driver from V1.7.0.33200 to V1.7.0. I didn't
> have any choice about this the only .NET driver from Firebird is
> 1.7.1 - but it gives the same error.
>
> I have noticed that I am not the first with this error - However - I
> have not been able to find a fix in the archives.
> The answer doesn't seem to be in trying different combinations of
> above info - I can read these databases fine with the normal .net
> provider from firebird (in the same program).
>
> Any help would be appreciated.
>
> Thank you. Dan Carlton
>
>
>

Re: Ibatis.net 1.6.1 Firebird1.7 cannot connect

Posted by Dan Carlton <da...@compliancedata.com>.
Jakub,

Thanks for your response. I have downloaded the firebird source and 
re-build the Provider, but something ain't right. I put displays in 
the code that was failing but they didn't display - don't know what 
is going on. It appears from the logic in the code that my connection 
string is fine - but I can't display what ibatis is sending to 
Firebird - so I don't know.

I tried the odbc driver and that works well. Do you find that there 
is much of an performance penalty for using ODBC?

Thanks again.

Dan Carlton

At 11:17 AM 10/18/2007, you wrote:
>I'm working with FB1.5, but I also tested this stuff with FB2.0.
>Currently I'm using ODBC drivers but for a moment I also had Fb 
>native .net drivers.
>
>Here is my connectionstring from properties.config
>
>ODBC:
><add key="connectionString" value="DRIVER={Firebird/InterBase(r) 
>driver};Dialect=3;PASSWORD=pass;UID=USERID;DBNAME=localhost:c:\MYDB.FDB"/>
>
>.NET Drivers
><add key="connectionString" 
>value="User=USERID;Password=pass;Database=C:\\MYDB.FDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection 
>lifetime=0;Connection timeout=15;Pooling=True;Packet 
>Size=8192;Server Type=0"/>
>
>And here are providers from providers.config
>
>ODBC:
><provider
>     name="Odbc1.1"
>     description="Odbc, provider V1.0.5000.0 in framework .NET V1.1"
>     enabled="true"
>     assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, 
> PublicKeyToken=b77a5c561934e089" 
> connectionClass="System.Data.Odbc.OdbcConnection"
>     commandClass="System.Data.Odbc.OdbcCommand "
>     parameterClass="System.Data.Odbc.OdbcParameter"
>     parameterDbTypeClass="System.Data.Odbc.OdbcType"
>     parameterDbTypeProperty="OdbcType"
>     dataAdapterClass=" System.Data.Odbc.OdbcDataAdapter"
>     commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder"
>     usePositionalParameters="true"
>     useParameterPrefixInSql="false"
>     useParameterPrefixInParameter="false"
>     parameterPrefix=""/>
>
>.NET
><provider
>     name="Firebird2.0"
>     description="Firebird, FirebirdClient - <http://ADO.NET>ADO.NET 
> 2.0 Data Provider"
>     enabled="false"
>     assemblyName="FirebirdSql.Data.FirebirdClient , 
> Version=<http://2.0.1.0>2.0.1.0, Culture=neutral, 
> PublicKeyToken=3750abcc3150b00c"
>     connectionClass="FirebirdSql.Data.FirebirdClient.FbConnection "
>     commandClass="FirebirdSql.Data.FirebirdClient.FbCommand"
>     parameterClass="FirebirdSql.Data.FirebirdClient.FbParameter"
>     parameterDbTypeClass="FirebirdSql.Data.FirebirdClient.FbDbType "
>     parameterDbTypeProperty="FbDbType"
>     dataAdapterClass="FirebirdSql.Data.FirebirdClient.FbDataAdapter"
>     commandBuilderClass="FirebirdSql.Data.FirebirdClient.FbCommandBuilder "
>     usePositionalParameters="true"
>     useParameterPrefixInSql="false"
>     useParameterPrefixInParameter="false"
>     parameterPrefix="@"/>
>
>Hope that this stuff will help you.
>
>Cheers,
>Jakub
>
>
>On 18/10/2007, Dan Carlton 
><<m...@compliancedata.com> wrote:
>Hello,
>
>I am getting the following error when trying to connect :
>
>Unhandled Exception: System.ArgumentException: An invalid connection
>string argu
>ment has been supplied or a required connection string argument has
>not been sup
>plied.
>     at FirebirdSql.Data.Firebird.FbConnectionString.Validate()
>     at
>FirebirdSql.Data.Firebird.FbConnection.set_ConnectionString(String value)
>     at FirebirdSql.Data.Firebird.FbConnection..ctor (String connectionString)
>     at FirebirdSql.Data.Firebird.FbConnection.System.ICloneable.Clone()
>     at IBatisNet.Common.DbProvider.CreateConnection()
>     at IBatisNet.DataMapper.SqlMapSession.CreateConnection()
>     at IBatisNet.DataMapper.SqlMapper.QueryForObject(String
>statementName, Object
>
>connection string:
>database>
><provider   name="Firebird1.7" />
><dataSource name="Firebird1.7 "
>         connectionString=
>         "User=dan;
>         Password=dan;
>         Database=c:\data\firebird\test1.fdb;
>         DataSource=localhost;
>         Dialect=3;
>         Pooling=false
>         Charset=NONE;
>         Port=3050;" />
>
></database>
>
>provider.config:
><provider
>         name="Firebird1.7"
>         description="Firebird, Firebird SQL .NET provider V1.7.0.33200"
>         enabled="true"
>         assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0,
>Culture=neutral, PublicKeyToken=fa843d180294369d"
>         connectionClass="FirebirdSql.Data.Firebird.FbConnection "
>         commandClass="FirebirdSql.Data.Firebird.FbCommand"
>         parameterClass="FirebirdSql.Data.Firebird.FbParameter"
>         parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType "
>         parameterDbTypeProperty="FbDbType"
>         dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter"
>         commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder "
>         usePositionalParameters="false"
>         useParameterPrefixInSql="true"
>         useParameterPrefixInParameter="true"
>         parameterPrefix="@"
>         allowMARS="false"
>/>
>
>Notice that I changed the assemblyName information so that he would
>recognize the matching driver from V1.7.0.33200 to V1.7.0. I didn't
>have any choice about this the only .NET driver from Firebird is
>1.7.1 - but it gives the same error.
>
>I have noticed that I am not the first with this error - However - I
>have not been able to find a fix in the archives.
>The answer doesn't seem to be in trying different combinations of
>above info - I can read these databases fine with the normal .net
>provider from firebird (in the same program).
>
>Any help would be appreciated.
>
>Thank you. Dan Carlton
>
>

Re: Ibatis.net 1.6.1 Firebird1.7 cannot connect

Posted by Jakub Scheibe <ja...@gmail.com>.
I'm working with FB1.5, but I also tested this stuff with FB2.0.
Currently I'm using ODBC drivers but for a moment I also had Fb native .net
drivers.

Here is my connectionstring from properties.config

ODBC:
<add key="connectionString" value="DRIVER={Firebird/InterBase(r)
driver};Dialect=3;PASSWORD=pass;UID=USERID;DBNAME=localhost:c:\MYDB.FDB"/>

.NET Drivers
<add key="connectionString"
value="User=USERID;Password=pass;Database=C:\\MYDB.FDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection
lifetime=0;Connection timeout=15;Pooling=True;Packet Size=8192;Server
Type=0"/>

And here are providers from providers.config

ODBC:
<provider
    name="Odbc1.1"
    description="Odbc, provider V1.0.5000.0 in framework .NET V1.1"
    enabled="true"
    assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" connectionClass="
System.Data.Odbc.OdbcConnection"
    commandClass="System.Data.Odbc.OdbcCommand"
    parameterClass="System.Data.Odbc.OdbcParameter"
    parameterDbTypeClass="System.Data.Odbc.OdbcType"
    parameterDbTypeProperty="OdbcType"
    dataAdapterClass="System.Data.Odbc.OdbcDataAdapter"
    commandBuilderClass="System.Data.Odbc.OdbcCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix=""/>

.NET
<provider
    name="Firebird2.0"
    description="Firebird, FirebirdClient - ADO.NET 2.0 Data Provider"
    enabled="false"
    assemblyName="FirebirdSql.Data.FirebirdClient , Version=2.0.1.0,
Culture=neutral, PublicKeyToken=3750abcc3150b00c"
    connectionClass="FirebirdSql.Data.FirebirdClient.FbConnection"
    commandClass="FirebirdSql.Data.FirebirdClient.FbCommand"
    parameterClass="FirebirdSql.Data.FirebirdClient.FbParameter"
    parameterDbTypeClass="FirebirdSql.Data.FirebirdClient.FbDbType"
    parameterDbTypeProperty="FbDbType"
    dataAdapterClass="FirebirdSql.Data.FirebirdClient.FbDataAdapter"
    commandBuilderClass="FirebirdSql.Data.FirebirdClient.FbCommandBuilder"
    usePositionalParameters="true"
    useParameterPrefixInSql="false"
    useParameterPrefixInParameter="false"
    parameterPrefix="@"/>

Hope that this stuff will help you.

Cheers,
Jakub


On 18/10/2007, Dan Carlton <da...@compliancedata.com> wrote:
>
> Hello,
>
> I am getting the following error when trying to connect :
>
> Unhandled Exception: System.ArgumentException: An invalid connection
> string argu
> ment has been supplied or a required connection string argument has
> not been sup
> plied.
>     at FirebirdSql.Data.Firebird.FbConnectionString.Validate()
>     at
> FirebirdSql.Data.Firebird.FbConnection.set_ConnectionString(String value)
>     at FirebirdSql.Data.Firebird.FbConnection..ctor(String
> connectionString)
>     at FirebirdSql.Data.Firebird.FbConnection.System.ICloneable.Clone()
>     at IBatisNet.Common.DbProvider.CreateConnection()
>     at IBatisNet.DataMapper.SqlMapSession.CreateConnection()
>     at IBatisNet.DataMapper.SqlMapper.QueryForObject(String
> statementName, Object
>
> connection string:
> database>
> <provider   name="Firebird1.7" />
> <dataSource name="Firebird1.7"
>         connectionString=
>         "User=dan;
>         Password=dan;
>         Database=c:\data\firebird\test1.fdb;
>         DataSource=localhost;
>         Dialect=3;
>         Pooling=false
>         Charset=NONE;
>         Port=3050;" />
>
> </database>
>
> provider.config:
> <provider
>         name="Firebird1.7"
>         description="Firebird, Firebird SQL .NET provider V1.7.0.33200"
>         enabled="true"
>         assemblyName="FirebirdSql.Data.Firebird, Version=1.7.0,
> Culture=neutral, PublicKeyToken=fa843d180294369d"
>         connectionClass="FirebirdSql.Data.Firebird.FbConnection"
>         commandClass="FirebirdSql.Data.Firebird.FbCommand"
>         parameterClass="FirebirdSql.Data.Firebird.FbParameter"
>         parameterDbTypeClass="FirebirdSql.Data.Firebird.FbDbType"
>         parameterDbTypeProperty="FbDbType"
>         dataAdapterClass="FirebirdSql.Data.Firebird.FbDataAdapter"
>         commandBuilderClass="FirebirdSql.Data.Firebird.FbCommandBuilder"
>         usePositionalParameters="false"
>         useParameterPrefixInSql="true"
>         useParameterPrefixInParameter="true"
>         parameterPrefix="@"
>         allowMARS="false"
> />
>
> Notice that I changed the assemblyName information so that he would
> recognize the matching driver from V1.7.0.33200 to V1.7.0. I didn't
> have any choice about this the only .NET driver from Firebird is
> 1.7.1 - but it gives the same error.
>
> I have noticed that I am not the first with this error - However - I
> have not been able to find a fix in the archives.
> The answer doesn't seem to be in trying different combinations of
> above info - I can read these databases fine with the normal .net
> provider from firebird (in the same program).
>
> Any help would be appreciated.
>
> Thank you. Dan Carlton
>
>
>