Sql server 使用加密时Oracle Sql将中断
我正在运行一个基本的SQL命令 有点像:Sql server 使用加密时Oracle Sql将中断,sql-server,oracle,hibernate,encryption,Sql Server,Oracle,Hibernate,Encryption,我正在运行一个基本的SQL命令 有点像: insert into $table (myEncryptedKey) values( ENCRYPTED_KEY); 当我使用基本字符串作为加密密钥时,它运行良好 让我们说“我的钥匙” 然而,当我使用一个加密的,说“ASDFSA/==”它失败了。org.hibernate.exception.sqlgrammareexception:SQL语句错误中的语法错误 我尝试用“”字符包围字符串,例如: “诸如此类”“按键+”“诸如此类” 但这似乎不起作用
insert into $table (myEncryptedKey) values( ENCRYPTED_KEY);
当我使用基本字符串作为加密密钥时,它运行良好
让我们说“我的钥匙”
然而,当我使用一个加密的,说“ASDFSA/==”它失败了。org.hibernate.exception.sqlgrammareexception:SQL语句错误中的语法错误
我尝试用“”字符包围字符串,例如:
“诸如此类”“按键+”“诸如此类”
但这似乎不起作用
我的桌子有点像
$table
keyvalue varchar(255)
我现在不能修改它
我能为你做些什么?我仍然需要插入加密的sql查询值。它的哪一部分导致了错误
谢谢您需要使用绑定变量。不要直接将字符串放入SQL(特别是当它们可以包含特殊字符时)。列是声明为
varchar2
还是声明为raw
?加密数据是以字符串形式还是以二进制数据类型存储在客户端上?通常,加密产生二进制值。将加密数据存储在varchar2
中通常是一个坏主意,因为这样字符集转换会使数据无法读取,除非您对加密数据进行Base-64编码(这会影响所需列的大小).@Thilo你能解释一下绑定变量是什么意思吗?@JustinCave嗯,我会调查一下,一秒钟谢谢你他们是varchar。。。然而,我现在真的没有改变它们的选择