无法使用ODBC连接到数据库

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

我有一个C#Windows Forms应用程序.NET 4.5.2。

我正在尝试连接到localhost中的postgres数据库。我要做的是定义以下连接字符串:

connectionString = "Driver={PostgreSQL};Server=127.0.0.1;Port=5432;Database=Project;Uid=postgres;Pwd=password;"

然后,我尝试使用以下函数对数据库进行查询并在DataTable中获取结果:

//Makes a query to DB, returns result as DataTable
public DataTable MakeQuery(string query)
{
    //Create connection to DataBase
    ODBCConnection connection = new OdbcConnection(connectionString); 

    //Open connection
    connection.Open(); //HERE I GET ERROR

    //Create OdbcCommand using provided query
    OdbcCommand command = new OdbcCommand(query);

    //Assign connection to OdbcCommand
    command.Connection = connection;

    //DataTable with query result
    DataTable result = new DataTable();

    //Adapter to fill DataTable with query result
    OdbcDataAdapter adapter = new OdbcDataAdapter(command);

    //Make query and fill DataTable with result
    adapter.Fill(result);

    //Closing connection
    connection.Close();

    //Returning result
    return result;
} //MakeQuery

我尝试打开连接时收到的错误:

"ERROR [IM002] [Microsoft][ODBC controllers administrator] Data origin name not found and no default controller specified"

(错误消息是西班牙语翻译的,因此可能不完全相同)

所以似乎连接字符串无法正常工作,但是我很确定它具有正确的格式。我从以下链接复制了它:https://www.connectionstrings.com/postgresql-odbc-driver-psqlodbc/

我确定IP和端口正确。我还确定我正确指定了数据库名称,用户名和密码。 .NET中的PostgreSQL驱动程序是否存在问题?我的代码有问题吗?

c# .net postgresql odbc
1个回答
0
投票

我使用{PostgreSQL UNICODE}驱动程序修复了它,不知道为什么默认设置不起作用

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