Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

不适用链接表,如何高效的使用sql数据库

eric  发表于:2018-05-28 23:05:47  
复制

不使用链接表的情况下,使用sql数据库

声明一个connection 对象 cnn

然后cnn打开远程sql

cnn.Open "DRIVER={SQL server};SERVER=XXX;address=XXX;UID=sa;PWD=xxx;APP=microsoft office 2010;DATABASE=HR;Network=DBMSSOCN"

就可以使用cnn得到数据集



但是每次使用前都这样声明一下cnn,有点麻烦。


可以定义成过程全局变量吗?或者全局变量?


(使用链接表的好处是什么呢?是否安全?如果真的使用链接表好的话,也可以不使用远程sql)

 

Top
chinasa 发表于:2018-05-29 15:24:02

我自己使用的感受,供参考。

链接表劣势:

1.安全性:其他人能看到你数据库用户名和密码,如果你有很好的办法隐藏掉表除外。

 

优势:

1.查询速度快。相同的SQL语句,有时查询速度快一倍都不止,也尝试过多次优化SQL语句,但目前本人最多做到与链接表接近的速度,有的语句仍然没办法。

2.可以使用ACCESS的查询向导,建立关系和写语句方便很多。



eric 发表于:2018-05-29 22:41:44

感谢回复

安全性在我的需求里占了主要地位。本地的链接表是否真的可以完美的隐藏。



chinasa 发表于:2018-05-30 08:02:51
可以用代码隐藏,是否完美就不知道了。按照很多前辈的说法,安全是相对的,没有绝对的安全。

SiliconXu 发表于:2018-05-30 11:39:53

如果不想使用链接表,那推荐使用ADO。

如果是安全性的话,你可以考虑使用DNS-less的方法,也就是说用代码建立跟服务器的连接。这样子你就不需要使用DNS文本来保存服务器的用户名和密码了。链接表上面你是无法直接看到用户名和密码的,只能看到服务器的地址。如果你是担心用户直接操作数据表,那么就把整个导航栏禁用了。发给用户的文件,使用ACCDE。



eric 发表于:2018-05-30 22:14:10
siliconxu:如果使用ado,那连接字符串是不是也是隐藏在代码中,那么也有相对高的安全性,是吗

SiliconXu 发表于:2018-05-31 11:22:46
是的。使用ADO的话,连接字符串是在代码中的。然后你发给用户的ACCDE,是不存在代码的,所以一般来说,用户就无从知道用户名和密码了。不过全部都使用ADO的话,可能代码的数量会多很多,维护和更新可能也更麻烦,感觉就没必要使用ACCESS来开发了(个人意见)。

朱朱 发表于:2019-07-31 12:48:27
不使用链接表的话,在开发阶段的工作量是非常大的。Access本身设计使用主要就是为了简化开发。如果全部采用编写ADO代码的方式去和后台数据库交互的话,当然是没问题的。但是这样的话,还用Access做什么。

总记录:7篇  页次:1/1 9 1 :