无法让PostgreSQL ODBC在Connection String中工作

时间:2014-05-16 05:28:19

标签: postgresql unicode connection odbc

我遇到了问题,似乎无法解决问题。我无法让我的postgresql连接字符串工作。我创建一个DSN时一切正常,但是当我尝试在连接字符串中使用驱动程序时,我不断发现数据源未找到错误。我有PostgreSQL ANSI(x64),PostgreSQL ODBC驱动程序(ANSI),PostgreSQL ODBC驱动程序(UNICODE),PostgreSQL Unicode(x64)。在连接字符串中,我使用Unicode。同样,在DSN和ODBC管理器中它工作得很好。但我使用经典ASP(在IIS7中)从dB中提取数据并且我不断收到错误。人们指的是连接字符串网站,我已经尝试了所有我能想到的东西。对我而言,它看起来很完美,但却无法克服错误。这是我正在使用的字符串:

cst = "Driver={PostgreSQL ODBC Driver(UNICODE)};Server=ipaddress;Port=5432;Database=dbname;Uid=uid;Pwd=pw;"

请帮忙吗?

顺便说一下,我是这个网站的新手,所以如果我对这个问题做错了,请告诉我。非常感谢。

2 个答案:

答案 0 :(得分:1)

据我所知,经典ASP有一个32位服务器可执行文件。

这意味着您需要32位ODBC驱动程序,而不是64位ODBC驱动程序,因为驱动程序必须与客户端体系结构匹配,而不是PostgreSQL服务器的。

安装并选择32位PostgreSQL ODBC驱动程序。

答案 1 :(得分:0)

刚才有同样的问题。以下是我在IIS7下使用经典ASP的方法:

  • 安装Visual C ++ 2010 X64:

https://www.microsoft.com/en-us/download/details.aspx?id=14632

  • 安装PSQLODBC X64

http://www.postgresql.org/ftp/odbc/versions/msi/

  • 运行Windows ODBC Administrator(在Windows搜索中搜索odbc)
  • 在“系统DSN”选项卡中,创建与数据库的连接,并使用连接名称代替Classic ASP脚本上的连接字符串

更新

我还能通过连接字符串获得经典ASP来与PostgreSQL对话:

DBConn.Open“DRIVER = {PostgreSQL UNICODE(x64)}; Server = server_ip; Port = 5432; DATABASE = database_name; UID = database_username; PWD = user_password;”