Get error无法分析JSON连接参数,这是由于使用加密密码时字符串转义代码中的无效字符“C”造成的
更新到teradasql的最新版本(16.20.0.48)以获得fastload支持。我的密码使用存储的密码保护进行加密,并与其他teradata sql命令一起使用。当为fastload使用{fn teradata_try_fastload}函数时,我将得到连接错误。当我用实际密码替换密码时,代码就可以工作了。在
变量
userID = 'userID'
userPWD3 = 'password' #works with everything
userPWD = r'ENCRYPTED_PASSWORD(file:\\Path\JTErc\PassKey.properties,file:\\Path\JTErc\EncPass.properties)' #works with the CREATE and DROP tables, but not fastload
连接字符串
^{2}$快速负载
with con.cursor() as cur:
sRequest = "{fn teradata_nativesql}{fn teradata_autocommit_off}"
print (sRequest)
cur.execute (sRequest)
aaoValues = [[1,None,],]
sInsert = "{fn teradata_try_fastload}INSERT INTO " + sTableName + "(?, ?)"
print (sInsert)
cur.execute (sInsert, aaoValues)
获取以下错误:
File "AppData\Local\Continuum\anaconda3\lib\site-packages\teradatasql\__init__.py", line 770, in executemany
raise OperationalError (sErr)
OperationalError: Unable to parse JSON connection parameters
at gosqldriver/teradatasql.ParseConParams ConParams.go:59
at gosqldriver/teradatasql.(*teradataFastLoadManager).connectFastLoad TeradataFastLoadManager.go:548
at gosqldriver/teradatasql.(*teradataFastLoadManager).executeInsert TeradataFastLoadManager.go:1170
at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:287
at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122
at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2021
at database/sql.ctxDriverQuery ctxutil.go:48
at database/sql.(*DB).queryDC.func1 sql.go:1464
at database/sql.withLock sql.go:3032
at database/sql.(*DB).queryDC sql.go:1459
at database/sql.(*Conn).QueryContext sql.go:1701
at main.goCreateRows goside.go:598
at main._cgoexpwrap_e6e101e164fa_goCreateRows _cgo_gotypes.go:331
at runtime.call64 asm_amd64.s:574
at runtime.cgocallbackg1 cgocall.go:316
at runtime.cgocallbackg cgocall.go:194
at runtime.cgocallback_gofunc asm_amd64.s:826
at runtime.goexit asm_amd64.s:2361
Caused by invalid character 'C' in string escape code
这个问题对应于带有存储密码保护的GOSQL-45 FastLoad互操作。 它已经在teradaasql16.20.0.49中修复,现在可以从pypi获得。在
相关问题 更多 >
编程相关推荐