连接字符串无法在PostgreSQL中使用。

4
我将使用以下连接字符串结构在我的web.config中,以使用ODBC连接到PostgreSQL数据库,但我遇到了错误:
连接字符串
<add name="ApplicationODBCDefault" connectionString="Driver={PostgreSQL};Server=127.0.0.1;Port=5432;Database=dbname;Uid=name;Pwd=password;"/>

错误:

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我已经从这里下载并安装了PostgreSQL ODBC的32位和64位驱动程序,但它仍然无法工作。可能出现了什么问题?

2
你能否尝试使用ODBC管理器测试一下你的连接是否正常?还有一个问题,为什么不使用npgsql托管提供程序呢? - Steve
我该在哪里找到这个?Npgsql不能用作解决方案,因为它必须是数据库无关的。长话短说,尝试了OLE路线,但无法让Npgsql与OLE兼容。ODBC是我想要探索的下一个路线。 - CSharpened
2个回答

1

使用{PostgreSQL ANSI}{PostgreSQL UNICODE}代替{PostgreSQL}

Driver={PostgreSQL UNICODE};Server=127.0.0.1;Port=5432;Database=dbname;Uid=name;Pwd=password;

如需更多连接字符串,请查看:http://www.connectionstrings.com/postgre-sql

您还可以使用ODBC数据源管理员配置DSN,然后在ConnectionString中使用创建的DSN名称:

DSN=dsn_name;Uid=name;Pwd=password;

看这里:https://www.connectionstrings.com/odbc-dsn/

我遇到了"Keyword not supported: driver"的问题,请问有什么解决办法吗? 我的代码看起来像这样:"Driver={PostgreSQL UNICODE};Server=;Port=5432;Database=IdM_Person;Uid=Guest;Pwd=*;" - PiotrKowalski
嘿,我一直收到这个错误 ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified,尽管如果我使用服务器资源管理器,它会使用PostgreSQL驱动程序连接,但不是使用此连接字符串! - Elias Ghali
我添加了关于使用DSN的信息。这可能更容易。 - Michał Niklas

1
如果您使用的是64位版本的PostgreSQL,那么在连接字符串中应该使用以下内容:

Driver={PostgreSQL UNICODE(x64)};Server=127.0.0.1; .......


如果我们使用X64进行开发,那么这段代码可以很好地工作。但是如果我在i386上构建并使用这段代码呢? - Pamungkas Jayuda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接