【发布时间】:2020-01-08 15:30:52
【问题描述】:
我有一些使用 PowerShell 对 PostgreSQL 实例运行的 SQL 脚本。 我已经安装了 PSQL 9.5 以及 ODBC 驱动程序。我也将它添加到 DSN 列表中
名称:PostgreSQL35W
驱动:PostgreSQL Unicode(x64)
在 PowerShell 中我有下一段代码
$DBConnectionString = "Driver={PostgreSQL Unicode(x64)};Server=$dbServer;Port=5432;Uid=$dbUser;Pwd=$dbPass;"
$DBConn = New-Object System.Data.Odbc.OdbcConnection;
$DBConn.ConnectionString = $DBConnectionString;
$DBConn.Open();
$DBCmd = $DBConn.CreateCommand();
$DBCmd.CommandText = $script;
$DBCmd.ExecuteReader();
$DBConn.Close();
当尝试连接到 PSQL 实例时,我得到一个没有描述的异常:
使用“0”参数调用“Open”的异常:“”
在 C:\Projects\Scripts\Publish\PublishDB.ps1:34 char:5
+ $DBConn.Open();
+ ~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : OdbcException
试图找到有关相关问题的任何信息 - 没有运气。
【问题讨论】:
-
如果您定义了 DSN,您可能应该使用 DSN connection string,否则 DSN 将毫无意义。如果您想使用“常规”PostgreSQL ODBC connection string:您是否定义了您在其中使用的变量?此外,您似乎没有指定数据库。您是否尝试使用
PostgreSQL UNICODE而不是PostgreSQL Unicode(x64)作为驱动程序? -
我做了,它说没有安装这样的驱动程序。
标签: postgresql powershell odbc