找回密码
 立即注册

QQ登录

只需一步,快速开始

人生就是修炼

注册会员

6

主题

21

帖子

81

积分

注册会员

积分
81
QQ
人生就是修炼
注册会员   /  发表于:2023-8-1 23:31  /   查看:2989  /  回复:11
本帖最后由 Bella.Yuan 于 2023-8-3 17:10 编辑

SQLite数据库在没有设置密码的情况下,ActiveReports连接字符串如下:DRIVER=SQLITE3 ODBC DRIVER;DATABASE=data\YiFa.db;这种情况能正常访问。

可给SQLite数据库设置密码后,连接字符串写成 DRIVER=SQLITE3 ODBC DRIVER;DATABASE=data\YiFa.db; Password=123456;却连接不上数据库

在C# Winform环境下,定义数据库连接字符串,能够正常访问数据库
public static string connectionString = @"Data Source=data\YiFa.db;Version=3; Password=123456;"

说明:SQLite使用的版本是 System.Data.SQLite.dll 1.0.112.1,这个版本的数据库免费版可以给数据库设置密码,以后的版本就不支持了。
设置密码的方式如下:

using System.Data.SQLite;

// 创建SQLite数据库连接
SQLiteConnection connection = new SQLiteConnection("Data Source=YiFa.db");
// 打开连接
connection.Open();
// 设置密码
connection.ChangePassword("123456");
// 关闭连接
connection.Close();

请高手指点,如何给带密码的SQLite数据库,定义数据库连接字符串,需要注意哪些细节,谢谢!

我按版主提供的写法重新写了但没能解决!




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

11 个回复

倒序浏览
Eden.SunWyn认证
超级版主   /  发表于:2023-8-2 18:17:01
推荐
本帖最后由 Felix.Li 于 2023-8-2 18:23 编辑
人生就是修炼 发表于 2023-8-2 14:03
数据库文件已经上传,并附上了加密和解密的小程序

您可以使用如下链接方式:

DRIVER=SQLITE3 ODBC DRIVER;DATABASE=C:\Yi 有密码12345.db; PWD=123456;

用pwd而不是password

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-8-3 10:24:37
推荐
针对这个老版本的,我们这边也做了排查。确实是因为现在都是得商业版的sqlLite才能加密。

我们找到一个ODBC的驱动可以支持连接您这种的:
https://www.devart.com/odbc/sqlite/download.html

然后使用这个驱动程序进行连接。连接加密的如下,需要指定对应的sqllite直连的DLL。
我的测试地址如下


我的连接字符串如下:
  1. DRIVER=Devart ODBC Driver for SQLite;Direct=False;Database=C:\yi.db;Encryption Key=12345;Encryption Algorithm=TripleDES;Client Library=C:\SQLite.Interop.dll;Locking Mode=Exclusive;Synchronous=Off
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-8-3 17:09:32
推荐
人生就是修炼 发表于 2023-8-3 14:54
按照版主的方法,测试成功!非常感谢版主的大力支持!辛苦了,谢谢!

使用感受:

您好,目前的设计确实是这样的,我们可以提个需求,不过这个需要产品经理评估一下,看产品后续是否可以针对该功能更新一下。【编号:42469】
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-8-2 11:28:22
推荐
您好,麻烦您给一下你您的数据库,我们这边测试一下呢。

您上传的时候,权限选成超级版主,其他人就不能下载了:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
人生就是修炼
注册会员   /  发表于:2023-8-2 14:03:05
3#
Eden.Sun 发表于 2023-8-2 11:28
您好,麻烦您给一下你您的数据库,我们这边测试一下呢。

您上传的时候,权限选成超级版主,其他人就不能 ...

数据库文件已经上传,并附上了加密和解密的小程序
回复 使用道具 举报
人生就是修炼
注册会员   /  发表于:2023-8-2 21:15:38
5#
本帖最后由 人生就是修炼 于 2023-8-2 21:18 编辑
Eden.Sun 发表于 2023-8-2 18:17
您可以使用如下链接方式:

DRIVER=SQLITE3 ODBC DRIVER;DATABASE=C:\Yi 有密码12345.db; PWD=123456;

感谢您的回复,但我测试一下,没有通过,我使用的是ActiveReports 15,我把截图发上来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
人生就是修炼
注册会员   /  发表于:2023-8-3 14:54:14
8#
本帖最后由 人生就是修炼 于 2023-8-3 16:15 编辑
Felix.Li 发表于 2023-8-3 10:24
针对这个老版本的,我们这边也做了排查。确实是因为现在都是得商业版的sqlLite才能加密。

我们找到一个O ...

按照版主的方法,测试成功!非常感谢版主的大力支持!辛苦了,谢谢!

使用感受:

个人感觉配置起来有些麻烦(控件面板-管理工具-ODBC32-系统DSN-添加Devart ODBC Driver for SQLite-细节配置-上传的图片)。
最关键的一点,这个ODBC Driver for SQLite 并不是免费的,试用期是30天吧,并不是很理想。
如果能找到一个免费的版本就OK了。
再次感谢版主!

希望ActiveReports 能提供像 WinForm环境下能连接加密数据库的环境,毕竞
在C# Winform环境下,定义SQLite数据库连接字符串,能够正常访问数据库
public static string connectionString = @"Data Source=data\YiFa.db;Version=3; Password=123456;" 这比配置ODBC环境方便比多了(说的不一定正确,请批评指正!)




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
人生就是修炼
注册会员   /  发表于:2023-8-3 18:49:36
10#
Bella.Yuan 发表于 2023-8-3 17:09
您好,目前的设计确实是这样的,我们可以提个需求,不过这个需要产品经理评估一下,看产品后续是否可以针 ...

感谢您提供的技术支持!
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-8-4 08:44:37
11#
人生就是修炼 发表于 2023-8-3 18:49
感谢您提供的技术支持!

不客气,后续如果该需求有更新,我们会追贴回复您~
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部