JMeter中SQLite加密数据库JDBC请求失败,如何配置密钥?
解决JMeter连接加密SQLite(SQLCipher)数据库的问题
问题分析
你遇到的报错是因为把加密参数直接拼在数据库文件路径后,Windows系统将?key=xxx&cipher=sqlcipher识别成了文件名的一部分,而Windows文件名不允许包含?这类特殊字符,导致路径语法错误。另外,普通SQLite驱动不支持SQLCipher加密,仅在密码框填密钥无法生效。
解决方案
1. 替换JDBC驱动
删除JMeterlib文件夹中原有的普通SQLite驱动(比如sqlite-jdbc-xxx.jar),替换为支持SQLCipher的sqlcipher-jdbc驱动,替换后必须重启JMeter。
2. 正确配置JDBC Connection Config
- JDBC URL:两种写法二选一:
写法一(基础路径+单独配置参数):
写法二(路径+分号分隔参数):jdbc:sqlite:C:\Users\....\db_folder\database.dbjdbc:sqlite:C:\Users\....\db_folder\database.db;cipher=sqlcipher;key=835b7789-de72-3eba-a47a-0ef0ffcba14f - 驱动类:填写SQLCipher专属驱动类名:
net.sqlcipher.jdbc.SQLiteDriver - 用户名:留空(数据库无用户名)
- 密码:如果JDBC URL里没写
key参数,这里填你的加密密钥835b7789-de72-3eba-a47a-0ef0ffcba14f - Connection Properties(选填,仅当JDBC URL用写法一时添加):
- 添加键值对:
cipher=sqlcipher - 添加键值对:
key=你的加密密钥
- 添加键值对:
3. 验证连接
配置完成后,点击JDBC Connection Config的「Test Connection」按钮,确认是否能成功建立连接。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

