GithubHelp home page GithubHelp logo

ib.netdataprovider's People

Contributors

embarcaderoauto avatar jeffovercash avatar marcocantu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ib.netdataprovider's Issues

Guidance on dealing with database connection loss with IBEvents

Hi there,

Is there any guidance with how we should deal with a loss of database connection from the server side when using the new IBEvents?

At first we tried using IBConnection's StateChange event but this only fires when the client is initiating the change (ie: on calling Open() or Close()). It does not fire if the InterBase service were to stop (whether gracefully or not).

Thanks,

Nick

Error Connecting to Interbase For Mobile (.Net Maui Blazor IOS)

Hello,

Hopefully I can get some help with this when I do a basic connection to my database when I get to the connection open I get this error in my output in Visual Studio 2022 tried in .net6 and .net7 (IOS and ANDROID) but works fine no error on (Windows)

When I run this for windows no error everything connects fine but when I run it for either mobile on physical device or simulator no luck.

**2023-04-26 20:40:58.630 Xamarin.PreBuilt.iOS[2481:621025] System.DllNotFoundException: libdl.so
at InterBaseSql.Data.Client.Native.LinuxClient.LoadLibrary(String libName)
at InterBaseSql.Data.Client.Native.LinuxClient.LoadIBLibrary()
2023-04-26 20:40:58.630 Xamarin.PreBuilt.iOS[2481:621025] at InterBaseSql.Data.Client.Native.IBClientFactory.GetGDSLibrary(IBServerType id)
at InterBaseSql.Data.Client.Native.IBDatabase..ctor(IBServerType serverType, Charset charset)
at InterBaseSql.Data.InterBaseClient.ClientFactory.CreateIDatabase(ConnectionString options)

2023-04-26 20:40:58.630 Xamarin.PreBuilt.iOS[2481:621025] at InterBaseSql.Data.InterBaseClient.IBConnectionInternal.Connect()
at InterBaseSql.Data.InterBaseClient.IBConnectionPoolManager.Pool.GetConnection(IBConnection owner)
at InterBaseSql.Data.InterBaseClient.IBConnectionPoolManager.Get(ConnectionString connectionString, IBConnection owner)

2023-04-26 20:40:58.630 Xamarin.PreBuilt.iOS[2481:621025] at InterBaseSql.Data.InterBaseClient.IBConnection.Open()
at MauiApp1.Pages.FetchData.OnInitializedAsync() in C:\Users\Zach\source\repos\MauiApp1\MauiApp1\Pages\FetchData.razor:line 66

The app has been terminated.**

This is the basic code I am using to connect (I replaced user and password with holders)

string connectionstring = @"data source=tamrds01/interbase09;initial catalog=C:\Sales\Tamco_SC\TAMCO_SC.ib;user id=sample;password=sample";
var conn = new IBConnection(connectionstring);
conn.Open();
IBCommand command = new IBCommand("select * from sxpwd", conn);
IBDataAdapter dt = new IBDataAdapter(command);
dt.Fill(Test);

Any help would be great thanks!

Support for EFCore 6.0

Hello,

first up, thank you for providing an Entity Framework Core provider for Interbase.

Due to the fact that there have only been some commits in April and May and only EF Core 3.1 is mentioned in the docs:
Was this a one time effort or will this project be actively maintained?

Thinking ahead, EF Core 3.1 LTS will only be supported until 2022-12-03 and there is already a stable version of EF Core 6.0 with LTS support.
Are there any plans to support Entity Framework Core 6.0 (and/or 5.0 as and intermediate step) within the next n quarter(s) / the next year?

Connection Issue in Windows server 2019 Std

Hi,

We could not connect the interbase DB using this driver. The following errors comes

  1. Error : An invalid connection string argument has been supplied or a required connection string argument has not been supplied.
    Trace : at InterBaseSql.Data.Common.ConnectionString.Validate()
    at InterBaseSql.Data.InterBaseClient.IBConnection.set_ConnectionString(String value)
    at InterBaseSql.Data.InterBaseClient.IBConnection..ctor(String connectionString)

  2. Error : Index was outside the bounds of the array.
    Trace : at InterBaseSql.Data.Common.IscHelper.VaxInteger(Byte[] buffer, Int32 index, Int32 length)
    at InterBaseSql.Data.Common.IscHelper.ParseDatabaseInfo(Byte[] buffer)
    at InterBaseSql.Data.Client.Native.IBDatabase.GetDatabaseInfo(Byte[] items, Int32 bufferLength)
    at InterBaseSql.Data.Client.Native.IBDatabase.GetServerVersion()
    at InterBaseSql.Data.Client.Native.IBDatabase.Attach(DatabaseParameterBuffer dpb, String database)
    at InterBaseSql.Data.InterBaseClient.IBConnectionInternal.Connect()
    at InterBaseSql.Data.InterBaseClient.IBConnectionPoolManager.Pool.GetConnection(IBConnection owner)
    at InterBaseSql.Data.InterBaseClient.IBConnectionPoolManager.Get(ConnectionString connectionString, IBConnection owner)
    at InterBaseSql.Data.InterBaseClient.IBConnection.Open()

Used the below connection string format
<add name="Conn" connectionString="server=localhost/3050:<DB PATH>;user=TEXDBA;password=texdba;port=3050;charset=None;" />

Please suggest how to solve this issue or do we need to install any dependencies.

Thank You

NUnit3TestAdapter dependency

Embarcadero.Data.InterBaseClient.csproj has a dependency on NUnit3TestAdapter. Is this required? It seems a bit odd for a database driver to link to any unit test library.

truncate char fields **request**

Hi, Jeff, this is more of a request than an issue, I am used to being able to trim/truncate the char fields so that all strings are presented as if they were varchar. actually with other .Net Providers there are options in the connection string for this. for example IBProvider has "truncate_char = true" as default. This is convenient because I never want strings to have spaces. Is this something IB.NETDataProvider supports? I looked through the connection string documentation and did not see the feature. Unfortunately my existing DB has many char fields as well as varchar, but I would like to treat them all as varchar and not have to worry about trimming every field up on reading. Thanks,

Dynamic SQL Error, SQL error code = -104, Token unknown - line 1, column 11 .

Interbase version

SQL> SHOW VERSION;
ISQL Version: WI-V14.4.0.804
InterBase/x64/Windows (access method), version "WI-V14.0.0.97"
InterBase/x64/Windows (remote server), version "WI-V14.0.0.97/tcp (OKW157-VT01)/P15"
InterBase/x64/Windows (remote interface), version "WI-V14.4.0.804/tcp (Skylight)/P15"
on disk structure version 18.0

.NET Core 6
ASP.NET Project

Entity Framework/Interbase related packages:

    <PackageReference Include="InterBaseSql.Data.InterBaseClient" Version="7.13.6" />
    <PackageReference Include="InterBaseSql.EntityFrameworkCore.InterBase" Version="7.13.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.11">

I have Interbase 2022 installed on my local machine.

I'm attempting to use Entity Framework to connect to and retrieve data from an Interbase DB.

When I trying to do something like await db.Contacts.ToListAsync(), the following error is throne,

InterBaseSql.Data.InterBaseClient.IBException (0x80004005): Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 11
.
 ---> Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 11
.
   at InterBaseSql.Data.InterBaseClient.IBCommand.ExecuteReader(CommandBehavior behavior)
   at InterBaseSql.Data.InterBaseClient.IBCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
   at PDFCreationMicroservice.Controllers.ContactsController.Get() in C:\Users\micha\source\repos\PDFCreationMicroservice\PDFCreationMicroservice\Controllers\ContactsController.cs:line 58
   at lambda_method5(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

HEADERS
=======
Accept: text/plain
Host: localhost:7248
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
:method: GET
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,ja;q=0.8,ja-JP;q=0.7
Referer: https://localhost:7248/swagger/index.html
sec-ch-ua: "Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"
DNT: 1
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-site: same-origin
sec-fetch-mode: cors
sec-fetch-dest: empty

If I setup Entity Framework to log the SQL being executed, this is the result

      SELECT "k"."ADD1_KANJI", "k"."ADD2_KANJI", "k"."ADD_KANA", "k"."KANK_CD", "k"."KANK_SYUBETSU", "k"."HOUJIN_NO", "k"."KORYOKU_ED", "k"."KORYOKU_SD", "k"."JIGYOSYO_NO", "k"."K_H_KBN", "k"."KANK_NAME1_KANJI", "k"."KANK_NAME2_KANJI", "k"."KANK_NAME_KANA", "k"."TEL", "k"."ADD_NO", "k"."TOROKU_YMD", "k"."TARGET_FLG"
      FROM "KANK" AS "k"

I attempted to connect to the database using isql and tried a query using a similar syntax, and it threw the same error.

SQL> SELECT "k"."KANK_CD" FROM "KANK" AS "k";
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 11
-.
SQL>

If I remove the quotation marks and run SELECT k.KANK_CD FROM KANK AS k; it works as expected.

I'm not very experienced with Interbase, but it seems as though perhaps using quotations like that isn't supported? I think it is getting parsed as being a string, as if I do SELECT "FOOBAR" FROM KANK it outputs a bunch of "FOOBAR" for each row.

Is there some configuration step for Entity Framework that is necessary in order to make it work correctly?

Retrieving data from a ShiftJIS Interbase instance

Interbase version

SQL> SHOW VERSION;
ISQL Version: WI-V14.4.0.804
InterBase/x64/Windows (access method), version "WI-V14.0.0.97"
InterBase/x64/Windows (remote server), version "WI-V14.0.0.97/tcp (OKW157-VT01)/P15"
InterBase/x64/Windows (remote interface), version "WI-V14.4.0.804/tcp (Skylight)/P15"
on disk structure version 18.0

.NET Core 6
ASP.NET Project

Entity Framework/Interbase related packages:

    <PackageReference Include="InterBaseSql.Data.InterBaseClient" Version="7.13.6" />
    <PackageReference Include="InterBaseSql.EntityFrameworkCore.InterBase" Version="7.13.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.11" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.11">

I have Interbase 2022 installed on my local machine including the ODBC driver.

My Windows machine's encoding is set to ShiftJIS (as it is the default Japanese encoding).

The remote Interbase instance does not have an encoding set, which to my understanding means that it should default to the host machine's encoding. The host machine of that remote instance is also set to ShiftJIS.

If I connect to the instance using isql, I can properly retrieve Japanese encoded text.

Since I am having trouble using Entity Framework's ORM functions as described here, I've set up a different endpoint to execute SQL directly which looks like this,

[HttpGet("test")]
        public async Task<string> Test()
        {
            var result = "";
            using (var command = db.Database.GetDbConnection().CreateCommand())
            {
                command.CommandText = "SELECT KANK_NAME1_KANJI FROM KANK";

                db.Database.OpenConnection();

                using (var reader = await command.ExecuteReaderAsync())
                {
                    if (reader.Read())
                    {
                        result = "";
                        result += reader.GetString(0);
                    }
                }
            }
            return result;
        }

If I set the connection string to @"User=USERNAME;Password=password;Database=c:\DATABASE.GDB;DataSource=999.999.999.999 and execute it, I get this result,

�q�j�a���������������                  

It seems like I'm having some kind of problem with the encoding. I thought that I should perhaps try to specify the encoding inside the connection string, however if I set the connection string to @"User=USERNAME;Password=password;Database=c:\DATABASE.GDB;DataSource=999.999.999.999;Charset=SJIS_0208 and execute it, I get this result

InterBaseSql.Data.InterBaseClient.IBException (0x80004005): arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
 ---> arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
   at InterBaseSql.Data.InterBaseClient.IBCommand.Fetch()
   at InterBaseSql.Data.InterBaseClient.IBDataReader.Read()
   at PDFCreationMicroservice.Controllers.ContactsController.Test() in C:\Users\micha\source\repos\PDFCreationMicroservice\PDFCreationMicroservice\Controllers\ContactsController.cs:line 35
   at lambda_method5(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

HEADERS
=======
Accept: text/plain
Host: localhost:7248
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
:method: GET
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,ja;q=0.8,ja-JP;q=0.7
Referer: https://localhost:7248/swagger/index.html
sec-ch-ua: "Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"
DNT: 1
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-site: same-origin
sec-fetch-mode: cors
sec-fetch-dest: empty

I tried setting breakpoints and debugging this, and it seems like this is coming from the reader.Read() call. It seems like perhaps the reader is unable to handle ShiftJIS?

InterBaseSQL.EntityFrameworkCore.InterBase issue

Getting this below error in class library project in .Net core
InterBaseSql.Data.InterBaseClient.IBException: 'Dynamic SQL Error
SQL error code = -104
Token unknown - line 2, column 14
AS'
some please help to resole this issue

Arithmetic Exception Cannot transliterate character between character sets

Hi,

I was installed ADO.Net provider and tried to save German Umlaut characters. It was saved successfully. But it could not retrieve from DB. There is showing arithmetic exception... cannot transliterate character....

How to resolve this issue when accessing this kind characters or any other characters?

Thank You

InterBaseSQL.EntityFrameworkCore.InterBase add-migration issue

Hi,

When trying to create a migration I get the below error. Any chance this can be fixed?

Tanks,
Ronald

PM> add-migration Init
Build started...
Build succeeded.
System.MissingMethodException: Method not found: 'System.Collections.Generic.IList1<Microsoft.EntityFrameworkCore.Metadata.Conventions.IModelInitializedConvention> Microsoft.EntityFrameworkCore.Metadata.Conventions.ConventionSet.get_ModelInitializedConventions()'. at InterBaseSql.EntityFrameworkCore.InterBase.Metadata.Conventions.IBConventionSetBuilder.CreateConventionSet() at Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.RuntimeConventionSetBuilder.CreateConventionSet() at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, IConventionSetBuilder conventionSetBuilder, ModelDependencies modelDependencies) at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context, ModelCreationDependencies modelCreationDependencies, Boolean designTime) at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel(Boolean designTime) at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model() at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServicesBuilder.<>c.<TryAddCoreServices>b__8_4(IServiceProvider p) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass2_0.<RealizeService>b__0(ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies() at Microsoft.EntityFrameworkCore.DbContext.get_ContextServices() at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider() at Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<System.IServiceProvider>.get_Instance() at Microsoft.EntityFrameworkCore.Infrastructure.Internal.InfrastructureExtensions.GetService[TService](IInfrastructure1 accessor)
at Microsoft.EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService[TService](IInfrastructure1 accessor) at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func1 factory)
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(String contextType)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType, String namespace)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType, String namespace)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration.<>c__DisplayClass0_0.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_01.<Execute>b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) Method not found: 'System.Collections.Generic.IList1<Microsoft.EntityFrameworkCore.Metadata.Conventions.IModelInitializedConvention> Microsoft.EntityFrameworkCore.Metadata.Conventions.ConventionSet.get_ModelInitializedConventions()'.
PM>

Any idea of time frame for IBRemoteEvent to work?

We would really like the ability to listen for events being posted in our database.

We got quite excited when we saw the example code in events.md. Less excited when we realised the remote events methods in IBDatabase throw NotSupportedExceptions 😬😅

Is this feature on the horizon at all?

IBRemoteEvent: Registering more than 15 events

Hi there,

Thanks again for the great work on #11. It has been working realy well for us so far.

So well infact that we are currently at 14 registered events. It's not going to be long before we're going to hit the 15 registered events limit.

Is there any progress on removing this limitation?

Alternatively, are there any recomended workarounds for now?

Thanks again.

Nick

Unable to cast object of type IBCommand

Hi,

The following error is showing while fill the data in dataset from database. This issue happened only hosting environment not development environment.

Unable to cast object of type 'InterBaseSql.Data.InterBaseClient.IBCommand' to type 'System.Data.OleDb.OleDbCommand'.

Do i need install any dependencies?

Please help to resolve this issue

Get UNICODE_LE charset actual value

Hi,

We've Multilanguage requirement in our application. To support this in Interbase Database table field
We've specified the Data type as Varchar(400) Charset as UNICODE_LE.

We saved Chineese Character in this field When we try fetch it is not returning chineese format
It returns in Different format.

Thank you
Rameshkumar T

Needed Boolean support.

Hi there I have been pained by these drivers lack of proper support for booleans. Whether it is querying the db or inserting an entry with a boolean.
For example
BoolHolder foo = new BoolHolder {test = true, id = 1};

`

        var context = GetContext(session);
        using (IDbContextTransaction transaction = context.Database.BeginTransaction())
        {
            try
            {
                context.Entry(foo).State = EntityState.Added;
                await context.SaveChangesAsync();
                await transaction.CommitAsync();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                Console.WriteLine("Error occurred.");
            }
        }`

This will be added to my database with the boolean being randomly assigned a false or true value.
A simple workaround is doing something like
(EDIT: THIS ACTUALLY DOESNT FIX IT SAME ISSUE OCCURS WHEN USING PARAMETERIZED UPDATEDS W/ RAWSQL)

`

        var context = GetContext(session);
        using (IDbContextTransaction transaction = context.Database.BeginTransaction())
        {
            try
            {
                context.Entry(foo).State = EntityState.Added;
                await context.SaveChangesAsync();
                await transaction.CommitAsync();
                await context.Database.ExecuteSqlRawAsync("UPDATE Boolholder SET test = @p0 WHERE id = @p1", foo.test, foo.id);
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                Console.WriteLine("Error occurred.");
            }
        }`

And that seems to work fine however this problem is even more of a headache when trying to retrieve data. Trying to query something based on a boolean just straight up does not work. You'd have to workaround it by switching flags to another datatype
Cheers

EDIT: SEE PHOTO BELOW NOT EVEN RAWSQL WORKS WITH PARAMETERISED VALUES ONLY HARD TYPING BOOL VALUES WORK ?????????

Console.WriteLine($"Pickup : {order.Pickup}");
Console.WriteLine($"Pickup : {order.MultiPay}");
await context.Database.ExecuteSqlRawAsync("UPDATE OrderHdr SET Pickup = @p0, Multi_Pay = @p1 WHERE Order_Id = @p2", order.Pickup, order.MultiPay, order.OrderId);
image

DDEX not installing with package.

After installing the github package, I was able to successfully access the db. However the I was not able to create a data connection as the ADO support was not installed in the DDEX for VS 2019

NullReferenceException when setting the Dialect to 1

Problem

Getting a NullReferenceException when attempting to alter a procedure containing the DATE keyword. This could be expected for clients or servers using Dialect 3, however I am setting the Dialect to 1 via IBConnectionStringBuilder.Dialect and can confirm that the server is also set to Dialect 1 (the same statement executes properly with IBConsole and IBExpert)

Investigation

After debugging the InterBaseSql.Data.InterbaseClient package myself, I was able to determine that the underlying error is actually:
"DATE data type is now called TIMESTAMP", which tells me the issue likely has something to do with the Dialect.

SQL Dialect Documentation

The DATE data type contains both time and date information and is interpreted as TIMESTAMP; the name has changed but the meaning has not. Dialect 1 clients expect the entire timestamp to be returned. In dialect 1, DATE and TIMESTAMP are identical.

https://docwiki.embarcadero.com/InterBase/2020/en/Understanding_SQL_Dialects

Sample Application

The following repository contains a simple example to help replicate the issue:
https://github.com/maxle5/interbase-dialect-one-issue

image

Environment

  • Windows 11 Professional
  • Interbase 2020 (update 4)
  • AMD Ryzen 9 5900HS
  • 32 GB RAM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.