由于 OperationalError,无法 create_context 使用 teradataml

Unable to create_context using teradataml due to OperationalError

我使用的是 teradataml 包版本 16.20.0.4,我在创建上下文的过程中遇到了一个奇怪的错误,使用的是通常的

import teradataml as tdml    
tdml.create_context(username = 'user', password='pass', host='host')

然后我得到

[...]

OperationalError: (teradatasql.OperationalError) [Version 16.20.0.59] [Session 6751033] [Teradata Database] [Error 3706] Syntax error: expected something between ')' and ','.
 at gosqldriver/teradatasql.(*teradataConnection).formatDatabaseError TeradataConnection.go:1102
 at gosqldriver/teradatasql.(*teradataConnection).makeChainedDatabaseError TeradataConnection.go:1118
 at gosqldriver/teradatasql.(*teradataConnection).processErrorParcel TeradataConnection.go:1181
 at gosqldriver/teradatasql.(*TeradataRows).processResponseBundle TeradataRows.go:1415
 at gosqldriver/teradatasql.(*TeradataRows).executeSQLRequest TeradataRows.go:521
 at gosqldriver/teradatasql.newTeradataRows TeradataRows.go:388
 at gosqldriver/teradatasql.(*teradataStatement).QueryContext TeradataStatement.go:122
 at gosqldriver/teradatasql.(*teradataConnection).QueryContext TeradataConnection.go:2044
 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:653
 at main._cgoexpwrap_1fc37444973b_goCreateRows _cgo_gotypes.go:357
 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
[SQL: SELECT tablename 
FROM dbc.tablesvx 
WHERE DatabaseName (NOT CASESPECIFIC) = CAST(TRANSLATE(? USING UNICODE_TO_LATIN) as VARCHAR(128)) (NOT CASESPECIFIC) AND TableName=? AND TableKind (NOT CASESPECIFIC) IN ('O' (NOT CASESPECIFIC), 'Q' (NOT CASESPECIFIC), 'T' (NOT CASESPECIFIC))]
[parameters: ('pm', 'versionInfo')]
(Background on this error at: http://sqlalche.me/e/e3q8)

就好像库向 Teradata 服务器发送了一个格式错误的查询...这是否合理?我该怎么办?

谢谢

我知道您也将此问题发布到 Teradata 社区论坛,相关团队的人员会在那里回复。

如果您尝试将 teradataml 与旧版本的 Teradata 数据库一起使用,就会出现您遇到的错误。您使用的是什么数据库版本?

请注意,teradataml 需要 Teradata SQL Engine 16.20 或更高版本。