永发信息网

数据库连接缓存概念和如何配置连接缓存

答案:2  悬赏:0  手机版
解决时间 2021-03-01 21:48
数据库连接缓存概念和如何配置连接缓存
最佳答案
那什么是连接缓存,它有什么用好处,如何创建配置连接缓存以及如何在组件中使用连接缓存呢?下面将一一为你解答。我们在开发两层应用的的时候,总是使用sqlca这个对象来控制,访问数据库连接。当我们不用的时候,就会断开这个连接。另外在两层应用中,我们总是在程序启动的时候连接数据库,而在退出程序的时候才断开数据库连接。到了三层开发,你就不能再这样做了,(当然,如果你不用连接缓存,也是可以的)。所谓连接缓存,就是数据库连接在组件不需要的时候并不是做物理断开,而是把这个连接缓存到缓存池中,等下一次某个组件再请求连接的时候再次使用。这要做的好处,就是可以提高系统的效率。要知道,连接数据库是很浪费时间的操作。这样一来,就很明显地看到,使用连接缓存的好处了,那就是提高效率!在EAS中,要想使用连接缓存,你只能使用如下的几个数据库连接接口: 1,openclient 2,Oracle专用接口 3,JDBC 4,ODBC 除了这几种,其他的都不能使用,例如我们经常使用的MS SQL Server数据库专用接口,是不能创建连接缓存的。如果要连接MS SQL Server,你只能使用ODBC的方式。创建连接缓存的方式有多种,我们常见的就是用管理器和使用jagtool命令行先说命令行方式: %JAGTOOL% create ConnCache:SYB_PBWF_Odbc%JAGTOOL% set_props ConnCache:SYB_PBWF_Odbc com.sybase.jaguar.conncache.conlibdll odbc32.dll%JAGTOOL% set_props ConnCache:SYB_PBWF_Odbc com.sybase.jaguar.conncache.conlibname ODBC%JAGTOOL% set_props ConnCache:SYB_PBWF_Odbc com.sybase.jaguar.conncache.db_type Unknown%JAGTOOL% set_props ConnCache:SYB_PBWF_Odbc com.sybase.jaguar.conncache.password.e sql%JAGTOOL% set_props ConnCache:SYB_PBWF_Odbc com.sybase.jaguar.conncache.remotesvrname pbwf%JAGTOOL% set_props ConnCache:SYB_PBWF_Odbc com.sybase.jaguar.conncache.username dba这就可以创建一个连接缓存了。但这样确实挺麻烦的,但你可以写成一个bat文件,实现自动创建工作。第二个方法就是用管理器了,手动创建。用管理器连接到easerver,点左面的connection caches,会在右面列出来当前easerver上所有的缓存, 在右面空白处点右键,选新建,根据向导,就可以完成缓存的创建,需要注意的是,如果你使用ODBC,那server name中填写odbc数据源的名字,并且这个odbc你必须要创建到系统数据源里面,否则eas服务就会找不到指定的数据源。创建完成后,你在缓存列表中那个新建缓存上点右键,选择ping,可以测试缓存是否正常。一旦创建完缓存,你就可以在组件中使用了。那组件中如何使用连接缓存呢?很简单,假设,你在组件中同样使用sqlca这个数据库连接事务对象,则你只要做如下操作: SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = CacheName='myCache' 对,就是这么简单,你还可以使用如下的方式: SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString='DSN=xb_db;UID=db_user;PWD=',CacheName='myCache' 这个方式和上一个方式的区别就是,如果你的缓存mycache的连接参数和前面的参数不一致,就会出现无法连接数据库的问题。有很多人会问,pb组件如何使用JDBC连接数据库呢?你只要创建一个JDBC的连接缓存,然后在组件中这样写: SQLCA.DBMS = JDBCSQLCA.AutoCommit = FalseSQLCA.DBParm = CacheName='myJdbcCache' 很简单吧!不过,不要高兴得太早了,虽然pb的代码是不区分大小写的,但连接缓存是区分大小写的。比如,你创建的缓存名字叫myJdbcCache,但你在组件应用的时候写成了 SQLCA.DBParm = CacheName='MyJdbcCache' 你将无法连接到数据库。切记!
全部回答
图书馆找资料,关于数据库连接缓存和配置的书籍。打入关键字:数据库,缓存;就会出现相应的书籍,你们就直接查阅书中的内容就可以了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
苹果智能手表防水吗
为什么nba2k9那么大?
2ooo年阴历3月26日上午9时30分岀生运程如何
网红之路怎么走
计算(1)计算:20090-32+|4|+(2)化简(m-n
小五冷饮在哪里啊,我有事要去这个地方
极限能量能否撕裂空间?当一种能量能达到周围
嵩县那有手工活能带回家做
兰溪市协力温控设备厂直销处地址有知道的么?
大医院的院师会不会在手机网上联系病人业物男
梦见儿子把车开走丢下我一个人
怎么办啊,今天在淘宝买的穿越火线高级紫水晶
b站视频投稿代码
红苑旅馆我想知道这个在什么地方
怎么可以设置 自己的手机限制不能拨打某一个
推荐资讯
疯了,在grails老是报找不到MYSQLjar包的错,
汽车轮胎胎壁蹭到了马路,脱掉一块小皮,没有
大学来了将近两个月,总该有点什么想说的
【酸性氧化物】酸性氧化物的定义
大麦虫羽化是神马意思?羽化后会飞吗?
一个圆柱形油桶,从里面量,底面纸浆是6分米,高
竹钻板切肉后用什么洗,可以用手洗吗
招远市供销合作社联合社我想知道这个在什么地
请问,PSP3000能玩 双截龙格斗的游戏吗?
潍坊市坊子区九龙涧开发管委会办公室在什么地
网王小说,越前龙雅BG
下列行为属于行政强制措施的有()。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?