>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Conexão do Banco de Dados Firebird 3.0 com CSharp


Prezado,

Tentei conectar o firebird com c sharp, dando o erro abaixo relacionado.
Gentileza informar qual o erro.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using FirebirdSql.Data.FirebirdClient;
using FirebirdSql.Data.Client;



namespace acesso
{
public static class COnexaoBD
{
static FbConnection _ConexaoFB;

public static FbConnection conexao
{
get
{
return _ConexaoFB;
}
}
public static bool Conectar()
{
string srtConexao;
srtConexao = "User = SYSDBA;" +
"Password = masterkey;" +
"Database = c:\\sgd\\bdsgd\bdsgd.fdb;" +
"DataSource = localhost;" +
"Port = 3050;" +
"Dialect = 3;" +
"Charset = NONE;" +
"Role =;" +
"Connection lifetime = 15;" +
"Pooling = true;" +
"MinPoolSize = 0;" +
"MaxPoolSize = 50;" +
"Packet Size = 8192;" +
"ServerType = 0;";
/* "User=SYSDBA;" +
"Password=masterkey;" +
"Database=c:\\sgd\\bdsgd\\bdsgd.fdb;" +
"Data Source=localhost;" +
"Port=3050;" +
"Dialect=3;" +
"Charset=UTF8;" +
"Role=;" +
"Connection timeout=7;" +
"Connection lifetime=0;" +
"Pooling=true;" +
"Packet Size=8192;" +
"Server Type=0;"; */


_ConexaoFB = new FbConnection(srtConexao);
_ConexaoFB.Open();
return true;
}
public static bool Desconectar()
{
_ConexaoFB.Close();
return false;
}

}
}

FirebirdSql.Data.FirebirdClient.FbException was unhandled
ErrorCode=335545064
HResult=-2147467259
Message=Incompatible wire encryption levels requested on client and server
SQLSTATE=28000
Source=FirebirdSql.Data.FirebirdClient
StackTrace:
em FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
em FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.CreateNewConnectionIfPossibleImpl(FbConnectionString connectionString)
em FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Pool.GetConnection(FbConnection owner)
em FirebirdSql.Data.FirebirdClient.FbConnectionPoolManager.Get(FbConnectionString connectionString, FbConnection owner)
em FirebirdSql.Data.FirebirdClient.FbConnection.Open()
em acesso.COnexaoBD.Conectar() na C:\sgd\acesso\acesso\ConexaoBD.cs:linha 43
em acesso.Form1.btnAbrir_Click(Object sender, EventArgs e) na C:\sgd\acesso\acesso\Form1.cs:linha 28
em System.Windows.Forms.Control.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnClick(EventArgs e)
em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.ButtonBase.WndProc(Message& m)
em System.Windows.Forms.Button.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
em System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.Run(Form mainForm)
em acesso.Program.Main() na C:\sgd\acesso\acesso\Program.cs:linha 19
em System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
em System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
em Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
em System.Threading.ThreadHelper.ThreadStart_Context(Object state)
em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
em System.Threading.ThreadHelper.ThreadStart()
InnerException:
ErrorCode=335545064
HResult=-2146233088
IsWarning=false
Message=Incompatible wire encryption levels requested on client and server
SQLSTATE=28000
Source=FirebirdSql.Data.FirebirdClient
StackTrace:
em FirebirdSql.Data.Client.Managed.GdsConnection.Identify(String database)
em FirebirdSql.Data.FirebirdClient.ClientFactory.CreateManagedDatabase(FbConnectionString options)
em FirebirdSql.Data.FirebirdClient.ClientFactory.CreateDatabase(FbConnectionString options)
em FirebirdSql.Data.FirebirdClient.FbConnectionInternal.Connect()
InnerException: [CSHARP]
SEU CODIGO AQUI
[/CSHARP]



1 Resposta


Olá

O Firebird 3 por padrão requer criptografia, mas como ainda não é suportado no provider do Firebird .NET 5, surge o erro "Incompatible wire encryption levels requested on client and server".

Você pode configurar o Firebird 3 para habilitar, mas não exigir criptografia, editando firebird.conf:

WireCrypt = Enabled