Firebird ODBC 驱动程序未加载 UDF dll

问题描述 投票:0回答:1

我的数据库有很多使用 rfunc.dll 中的函数的程序,但是当我尝试在 C# 上使用 ODBC 驱动程序连接时,UDF 函数不会加载

这是我如何进行连接的

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

c# odbc firebird-3.0
1个回答
0
投票

正如 user246821 试图在评论中指出的那样,Firebird ODBC 驱动程序没有

DataSource
属性。有关属性列表,请参阅 ODBC 驱动程序文档。具体来说,您需要使用
DBNAME
DATABASE
以及 fbclient.dll 预期的完整连接 URL。

在您的情况下,您需要指定

Database=inet://{serverName}/{databaseName}
而不是
Database={databaseName};DataSource={serverName}

您遇到的问题可能是您当前的解决方案在不访问 UDF 的情况下加载 Firebird Embedded,而不是通过 Firebird 服务器连接并访问 UDF。

© www.soinside.com 2019 - 2024. All rights reserved.