- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
tcl访问mysql环境搭建
Tcl语言访问mysql数据库环境搭建
前言
任何编程语言访问数据库进行相关操作,必须依赖访问接口,亦驱动程序,所以安装前必须编译驱动。准备工作:tcl环境搭建,确保mysql相关类库和文件存在。
本文只讲思路,不讲具体的实现细节。
安装
从此网站 HYPERLINK http://www.xdobry.de/ www.xdobry.de/ 选择下载开发包(根据开发环境),例如: HYPERLINK http://www.xdobry.de/mysqltcl/mysqltcl-3.05.tar.gz mysqltcl-3.05.tar.gz,解压之后的目录如下:
Doc目录存放的是帮助文档,据我观察不是很全。
generic目录放的是驱动源代码:mysqltcl.c,此c源文件具体定义了访问mysql数据库的接口函数,除了查看帮助文档,还可以查看此文件,来具体了解其中一些接口函数的用法,相当于查看jdbc源代码一样。
Tests目录存放开源组织提供的一些例子程序,例如连接数据库,增删改查的操作等。
Configure文件是编译前检查配置相关信息,makefile文件就是编译的具体脚本,里面有些参数可能需要修改,比如tcl的安装路径,mysql lib的位置等,因为编译时会用到tcl.h和mysql.q两个c源文件,找不到编译会报错。编译成功后就会生成libmysqltcl3.05.so的文件。
然后在编写tcl脚本中加载此so文件,就可以使用其中哦接口访问mysql数据库了
开发环境搭建
相应的环境变量要设置正确,可以配置用户级的配置文件,也可以修改全局的,但建议修改用户的。
在原有的tcl开发目录下,建个软连接指向so文件,便于以后版本的替换。
编写common.tcl脚本,定义dss脚本直接访问的函数,dss脚本是应用程序的入口。
在这里,dss相当于java的控制器,common.tcl 相当于service层,而dao层则由db_mysql.tcl来实现就可以了。
Dss脚本主要功能是,检查应用程序运行环境及所需资源是否加载完毕,然后调用具体的应用程序去执行。
Common.tcl要定义具体的业务逻辑的操作,比如数据库的连接,增删改查,提交,回滚,记录日志等功能,这些操作再去调用直接跟数据库打交道的db_mysql.tcl即可。当然db_mysql.tcl也是需要编写的。
开发过程并没有具体的顺序,可以根据需求随时修改相应层的脚本。
应用程序脚本里的应用可以处理sql语句,也可以是任何可以在linux平台(或可以包装在linux平台)下运行的命令。
调度系统设计
我们用一个名叫agent.tcl的脚本程序去实现,主要功能是:去依赖表里查询满足一定的条件可以运行的应用程序脚本名称,然后用后台子进程去执行,即将应用程序脚本名作为参数传递给dss入口程序执行。
搭建过程遇到的问题
编译时报skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for –lmysqlclient 错误。
处理方式,将makefile里的路径/usr/lib 改为/usr/lib64,初步估计原因可能是软件版兼容的问题
2.Mysql和oracle访问数据库的机制有所不同,oracle是基于本地tns监听,来连接本地或远程数据库,并且logon后仅获得logon handle,一个logon handle可以打开多个statement handle 去操作数据库,而mysql直接通过connect (host,port,user,pwd,dbname)直接获取操作数据的handle,写接口函数时需注意。
原创力文档


文档评论(0)