【发布时间】:2021-06-03 15:31:25
【问题描述】:
我是 PowerShell 新手。我能够建立与我的 PostgreSQL 服务器的连接并执行从现有表中删除数据的操作。我无法执行的是复制语句。下面是我的代码。
$DBConnectionString = "Driver={PostgreSQL UNICODE(x64)};Server=mysvr;Port=5420;Database=mydb;Uid=myuser;Pwd=mypwd;Options='autocommit=off';"
$DBConn = New-Object System.Data.Odbc.OdbcConnection;
$DBConn.ConnectionString = $DBConnectionString;
$DBConn.Open();
$DeleteexistingdataDml3 = "delete from table1;delete from table2;"
$DBCmd = $DBConn.CreateCommand();
$DBCmd.CommandText = $DeleteexistingdataDml3;
$DBCmd.ExecuteReader();
执行复制语句时出错。
$Copydatatotable = "\copy table1 FROM '\\filedolder\table1data.csv' DELIMITER AS '|' CSV NULL AS '';
\copy table2 FROM '\\filedolder\table2data.csv' DELIMITER AS '|' CSV NULL AS '';"
$DBCmd = $DBConn.CreateCommand();
$DBCmd.CommandText = $Copydatatotable;
$DBCmd.ExecuteReader();
错误:
使用“0”参数调用“ExecuteReader”的异常:“错误 [42601] 错误:“”处或附近的语法错误;
谢谢。
【问题讨论】:
-
错误是什么?将错误消息添加到您的问题中。
-
现在更新了错误的问题
-
你能在 Postgres 中做同样的事情吗?如果有,有什么不同?
-
复制语句在命令提示符下工作正常,因为它使用 PSQL 实用程序。
标签: postgresql powershell