0
我在写一个简单的基于Golang的Redshift DataLoader。我必须使用Redshift Copy From S3命令作为Prepared语句,以便我可以将凭据作为参数的一部分传递。GoLang复制命令准备好的声明不起作用
我看到lib/pq没有正确解析SQL模板。任何想法,将不胜感激
COPY_FROM_S3 = `
COPY {{.stageTable}}
FROM $1
WITH CREDENTIALS AS $2
DELIMITER $3
IGNOREBLANKLINES ACCEPTINVCHARS BLANKSASNULL
EMPTYASNULL ACCEPTANYDATE ESCAPE MAXERROR 50
STATUPDATE ON
`
stmt , _ := redshiftDB.Prepare(COPY_FROM_S3)
stmt.Exec(s3File, awsCreds, delimter)
获取语法错误
panic: pq: syntax error at or near "$1"
goroutine 1 [running]:
那么,模板字符串是我的第一遍,当statement.Exec被调用 - 复制命令不会有{{。 stageTable}}子串。模板被解析并用表名替换。 – kadalamittai