我的DB有很多使用rfunc.DLC中的函数的过程,但当我try 在C#上使用DBC Driver连接时,ADF函数不会加载

这里是我如何进行连接

public OdbcConnection Conecta(string serverName, string databaseName, string userName, string password, string DriverName)
{
    
    string connectionString = $"User={userName};Password={password};Database={databaseName};DataSource={serverName};Driver={DriverName};";

    // Criar a conexão
    OdbcConnection connection = new OdbcConnection(connectionString);
    try
    {
        // Abrir a conexão
        connection.Open();

        // A conexão foi aberta com sucesso, você pode executar consultas aqui

        return connection;
    }
    catch (Exception ex)
    {
        // Tratar exceção, se necessário
        Console.WriteLine("Erro ao conectar-se ao banco de dados: " + ex.Message);
        //Console.Beep();
        return null;
    }
}
 OdbcConnection FBconnection = new Database().Conecta("127.0.0.1:3050", "My\\Database\\path\\.fdb", "SYSDBA", "masterkey", "Firebird/InterBase(r) driver");

一切正常,但rfunc功能不正常,如果有人知道的话?

火鸟 3.0 火鸟 ODBC 2.0.5

推荐答案

正如user246821试图在他们的 comments 中指出的那样,Firebird DBC驱动程序没有DataSource属性.请参阅ODBC driver documentation以获取属性列表.具体来说,您需要按照fbclient.dl的预期使用DBNAMEDATABASE与完整连接URL.

在您的情况下,您需要指定Database=inet://{serverName}/{databaseName}而不是Database={databaseName};DataSource={serverName}.

或者,您可以指定传统URL格式Database={serverName}:{databaseName},但随后您需要将呼叫代码更改为.Conecta("127.0.0.1/3050", ...,或者简单地更改为.Conecta("127.0.0.1", ...,因为3050是默认值.

您遇到的问题可能是,您当前的解决方案加载了Firebird Integral,而不是通过Firebird服务器连接并访问ADF.

Csharp相关问答推荐

c#处理大量tcp连接

子组件:如何根据另一个组件的状态启用输入

EF Core 8—应用客户端投影后无法转换集操作

如何保持主摄像头视角保持一致?

有没有办法把+02:00转换成TimeSpan?""

ASP.NET MVC中创建视图的过滤器

迭代C#List并在数据库中 for each 元素执行SELECT语句—更有效的方式?

如何在C#中使用正则表达式抓取用逗号分隔的两个单词?

如何忽略API JSON响应中的空字符串?

如何在没有前缀和可选后缀的情况下获取Razor Page Handler方法名称?

C#-从基类更新子类

TCPClient阅读流

我的MRG32k3a算法实现返回的数字超出了预期的[0,1]范围

用于管理System.Text.Json中的多态反序列化的自定义TypeInfoResolver

DateTime ToString()未以指定格式打印

数据库.Migrate在对接容器重启时失败

在C#中有没有办法减少大型数组中新字符串的分配?

将字符串类型日期输入(yyyy-mm-ddthh:mm:ss)转换为MM/dd/yyyy格式

如何在Cake脚本中设置MSBuild.exe的绝对路径

ASP.NET核心MVC|如何在控制器方法之间传递值