Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用fastload在TeradaSQL python模块的连接字符串中使用加密密码发出_Python_Module_Teradata - Fatal编程技术网

使用fastload在TeradaSQL python模块的连接字符串中使用加密密码发出

使用fastload在TeradaSQL python模块的连接字符串中使用加密密码发出,python,module,teradata,Python,Module,Teradata,Get错误无法解析JSON连接参数,这是由于使用加密密码时字符串转义码中的无效字符“C”造成的 更新至TeradaSQL的最新版本(16.20.0.48),以获得fastload支持。我的密码使用存储密码保护进行加密,并与其他teradata sql命令一起使用。当对fastload使用{fn teradata_try_fastload}函数时,我将得到连接错误。当我用实际密码替换密码时,代码将正常工作 变数 userID='userID' userPWD3='password'#适用于所有情况

Get错误无法解析JSON连接参数,这是由于使用加密密码时字符串转义码中的无效字符“C”造成的

更新至TeradaSQL的最新版本(16.20.0.48),以获得fastload支持。我的密码使用存储密码保护进行加密,并与其他teradata sql命令一起使用。当对fastload使用{fn teradata_try_fastload}函数时,我将得到连接错误。当我用实际密码替换密码时,代码将正常工作

变数

userID='userID'
userPWD3='password'#适用于所有情况
userPWD=r'ENCRYPTED_PASSWORD(文件:\\Path\JTErc\PassKey.properties,文件:\\Path\JTErc\EncPass.properties)#可用于创建和删除表,但不能用于快速加载
连接字符串

con=teradasql.connect(主机='host',用户=用户ID,密码=用户pwd3)
快速加载

以con.cursor()作为cur的
:
sRequest=“{fn teradata_nativesql}{fn teradata_autocommit_off}”
打印(sRequest)
当前执行(sRequest)
aaoValues=[[1,无,],]
sInsert=“{fn teradata_try_fastload}插入“+sTableName+”(?,?)”
印刷品(单色)
当前执行(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互操作。 它已在Teradasql16.20.0.49中修复,现在可从pypi获得