我有一些使用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实例时,我得到一个没有描述的异常:
Exception calling "Open" with "0" argument(s): "" At C:\Projects\Scripts\Publish\PublishDB.ps1:34 char:5 + $DBConn.Open(); + ~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : OdbcException
试图找到有关相关问题的任何事情 - 没有运气。
答案 0 :(得分:0)
正如@Ansgar Wiechers所提到的,应该使用DSN名称而不是驱动程序名称。 所以连接应该如下:
$DBConnectionString = "DSN=PostgreSQL35WServer=$dbServer;Port=5432;Uid=$dbUser;Pwd=$dbPass;"
答案 1 :(得分:0)
您可以仅在这些脚本上调用PSQL。
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
videoView.setMediaController(ctrl);
ctrl.show();
FrameLayout frameLayout = (FrameLayout) ctrl.getParent();
((ViewGroup) frameLayout.getParent()).removeView(frameLayout);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
params.addRule(ALIGN_BOTTOM, videoView.getId());
((RelativeLayout) videoView.getParent()).addView(frameLayout, params);
}
});
您可以在PgSql的安装目录中找到psql.exe。