【发布时间】:2016-03-29 16:33:29
【问题描述】:
我正在开发一个尝试在 oracle 和 sql-server 中重置用户密码的 Java 程序。此密码是随机生成的密码,其中包含一些不能作为普通字符串接受的字符。例如。 ',"",;
我用来重置用户密码的命令是:
神谕:
ALTER USER <username> IDENTIFIED BY <password>
sql 服务器:
ALTER LOGIN <username> WITH PASSWORD = '<passowrd>'
我怎样才能做这个重置,以便它可以接受所有类型的特殊字符?
我用谷歌搜索了quoting method:。我也确实发现了使用单码和双码。但是,如果生成的密码在该密码中有" 或相同的引号分隔符怎么办?那么这将是一个问题。
Eg. IDENTIFIED BY 'jks'k"fjh''d'
Eg. password = q[#kkksdj#jsksls#]
Eg. password = "nm.js""kh:kjhs"
我有什么方法可以在 oracle 和 sql-server 中执行此操作吗?或者在发送到 oracle/sql-server 之前,我是否需要从 java 中逐个转义每个字符?我的 oracle 和 sql-server 的重置程序是不同的。所以方法可以不同。
【问题讨论】:
-
你为什么要标记
sqlserver?oracle和sqlserver是不同的 RDBMS 产品。 -
@LalitKumarB 对此感到抱歉。我已经编辑了帖子
-
好的。我只能回答关于 Oracle 的问题。
标签: sql sql-server oracle oracle11g escaping