点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
当我在密码" Aditya $ 123"中输入$时,始终出现错误hdbcli.dbapi.Error:(10,"身份验证失败")。 我正在使用具有以下连接语法的标准hdbcli dbapi:
self.dbConn = dbapi.connect(user = db_user,password =" db_password",port = port,address = address)
self.cursor = self.dbConn.cursor()
我试图转义$字符,但这没有帮助:
db_password = db_password.replace('$','\ $')
我检查了此注释 /img/questions/518509/using-credentials-from-hdbuserstore-results-in-err.html ,但不确定在这里我缺少什么。 任何帮助是极大的赞赏。 请不要让我能够使用hdbsql从终端进行连接:
/usr/sap/CLO/HDB96> hdbsql -i 96 -p Aditya $ 123 -u系统
欢迎使用SAP HANA数据库交互式终端。
类型:\ h以获取命令帮助
\ q退出
hdbsql CLO => \ s
主机:localhost:39613
sid:CLO
dbname:CLO
用户:SYSTEM
内核版本:1.00.122.23.1548298510
SQLDBC版本:libSQLDBCHDB 1.00.120.118.1548119815
自动提交:开启
语言环境:en_US.UTF-8
输入编码:UTF8
您好,我找到了解决此问题的方法。 我认为这可能是由于在hdbsql和hdbcli中处理特殊字符的方式引起的错误。 我使用hdbcli而不是hdbsql更新了密码,并且在此之后hdbcli和hdbsql连接都可以正常工作。 但是,如果我使用hdbsql更改带有特殊字符的密码,则hdbcli无法连接到数据库。
感谢您的协助!
关于,
Aditya
嗨,迈克,
我正在使用此设置进行一些内部测试,因此,我是唯一可以访问此系统的人。 要回答您的问题,是的,我可以更改密码。 我正在尝试使用hdbcli查询数据库,并且由于此密码问题而卡住了。 我可以将密码更改为其他没有'$'的密码,但是我需要了解此问题的根本原因,因为可能在字段中使用了类似的密码。
谢谢
Aditya
您可以更改密码吗? $可能是系统中某个地方的特殊字符。 您还与您的DBA讨论过此问题吗? 他们怎么说?
很好。
没有Aditya,您的正确密码更改方法是。
因此,hdbcli和hdbsql直接接受$,而hdbuserstore需要转义符(\ $)!
SAP应该重新查看其注释2490797,其中说如果需要转义, 即使对于hdbsql也具有特殊字符。 $是特殊字符。
嗨,Aditya,
这很有趣!
hdbsql,hdbcli和hdbuserstore-这些都来自同一个hana客户端 。
但是,来自这里和您遇到的问题,我看到了这些情况:
案例1- hdbsql直接执行时会接受特殊字符(例如$)。
情况2-当使用hdbuserstore将相同的字符($)加密到KEY中时,hdbsql无法连接。 这意味着,hdbuserstore认为字符"特殊"而不加密。
情况3-hdbcli无法与$连接,并认为它是特殊字符。
如 2490797 所述,特殊字符即使在万一出现的情况下也需要转义 hdbsql的情况(案例1),但在Nil和您的案例中,hdbsql都可以与$一起使用(如果未在KEY中使用)。 这是否意味着$不是一个特殊字符? 令人惊讶的。
您可以再尝试一种情况吗? 这是第4种情况,将hdbcli与KEY一起使用(在hdbuserstore中创建具有ID密码的密钥,并使用该密钥在hdbcli中进行连接
connection = dbapi.connect('host',39613,'KEY') p>
创建密钥时,请使用\ $在hdbuserstore中转义。
一周热门 更多>