为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

自编程连接图书馆数据服务器

2011-11-19 3页 pdf 370KB 22阅读

用户头像

is_954859

暂无简介

举报
自编程连接图书馆数据服务器 当代图书馆 ·服务论坛· 第 1期 2010年 3月总第 101期 自编程连接图书馆数据服务器 ———基于 SULCM IS Ⅲ系统 林晓群 揭阳职业技术学院图书馆 , 广东揭阳 522000 【摘  要 】本文首先提出了自编程连接图书馆数据服务器的必要性 , 在实际操作的基础上分析了使用 VB编程解决问题 的思路 , 并对如何获取 ODBC接口和 ADO编程获取数据给出了具体的实现方案。 【关键词 】数据服务器  编程  连接  VB ODBC ADO 图书馆 【中图分类号 】 G250176 Connectin...
自编程连接图书馆数据服务器
当代图书馆 ·服务论坛· 第 1期 2010年 3月总第 101期 自编程连接图书馆数据服务器 ———基于 SULCM IS Ⅲ系统 林晓群 揭阳职业技术学院图书馆 , 广东揭阳 522000 【摘  要 】本文首先提出了自编程连接图书馆数据服务器的必要性 , 在实际操作的基础上分析了使用 VB编程解决问题 的思路 , 并对如何获取 ODBC接口和 ADO编程获取数据给出了具体的实现。 【关键词 】数据服务器  编程  连接  VB ODBC ADO 图书馆 【中图分类号 】 G250176 Connecting L ibrary ’s Da ta Server by Self2programm ing : Ba sed on System of SULCM I S Ⅲ L in X iaoqun The L ibrary of J ieyang Voca tiona l & Techn ica l College, J ieyang, Guangdong 522000 Abstract: This paper firstly points out the necessity of connecting library ’s data server by self2p rogramm ing. Based on local imp lementation, it exp lains how to take V isual Basic as p rogramm ing tool. Then it devises the p rogramm ing scheme by getting ODBC connector and using ADO’s data searching function. Key W ords: Data Server; Programm ing; Connection; App lication In L ibraries; VB; ODBC; ADO 1 自编程连接图书馆数据服务器的必要性 馆藏数据库作为整个图书馆最重要的自建数据资 源之一 , 存储了图书馆的所有的用户的姓名、借书证 号、单位 , 以及馆藏书目的编目数据等 , 在图书馆的 利用最为频繁。做为图书馆的技术人员 , 经常需要连 接该数据库获取数据 , 如导出用户名密码为其它软件 使用、导出读者借阅情况用于年终统计等等。一般的 做法是使用图书馆管理软件将其数据导出各种格式 , 但实践中往往存在一些不足。以笔者所在的图书馆为 例 , 采用的系统软件为深圳大学图书馆的 SULCM ISⅢ, 该软件采用的数据库平台为 SYBASE, 进行数据导出 时经常遇到以下问题 : 111 自由性不强 , 耗费时间长 在 SULCM IS Ⅲ中 , 有的导出数据的功能模块无法对 检索条件进行限制 , 只能将整个数据表导出 , 然后再利 用 EXCEL等软件进行二次整理。整表导出必然导致输出 时间过长 , 而且由于占用大量系统资源 , 会导致图书馆 系统瘫痪。笔者所在馆未更换服务器前 , 一旦进行数据 导出 , 流通系统就无法正常工作。 112 有的模块没有导出功能或导出功能较弱 在 SULCM IS Ⅲ中 , 有的模块没有导出功能或导出功能 较弱 , 工作人员想进行个性化导出的话只能联系软件提供 商导出所需数据 , 但往往耗时颇久 , 也浪费双方资源。 113 不方便第三方软件使用 , 不方便动态调用 有些第三方软件提供接口连接其它数据库进行使用 , 但往往只针对主流的 ACCESS数据库、EXCEL数据库和 SQL 2000数据库。如果可以将所需数据实时导出 , 第三 方软件就可以进行动态调用了。 为了方便使用 , 提高工作人员的工作效率 , 笔者拟 通过对所在馆的数据服务器进行连接 , 导出所需数据到 通用的 SQL2000数据库 , 方便其它软件调用数据或进行 二次开发 , 设计出具有实际使用价值的图书馆周边应用 程序 , 以更好地发挥图书馆的潜在优势。 2 设计思路 首先在 SYBASE数据库中建立一个只有检索功能的 用户名 , 通过 ODBC驱动连接 SYBASE数据库 , 查看数据 库的结构并找出所需的表和列 , 然后通过 ADO操作数据 库检索所需数据 , 最后将数据导入到馆内服务器的 SQL2000数据库中。 ·91· ·服务论坛· Contemporary L ibrary Vol. 101 ,No. 1 ,M arch, 2010 3 相关介绍 311 SYBASE数据库 SYBASE作为一种 C /S架构的大型数据库 , 具有多线 索化的特点。一般的数据库都依靠操作系统来管理与数 据库的连接 , 当有多个用户连接时 , 系统的性能会大幅 度下降 , Sybase数据库不让操作系统来管理进程 , 把与 数据库的连接当作自己的一部分来管理 , 此外 , Sybase 的数据库引擎还代替操作系统来管理一部分硬件资源 , 如端口、内存、硬盘 , 绕过了操作系统这一环节 , 提高 了性能 [ 1 ]。 312 ODBC ODBC (Open DataBase Connectivity, 开放数据库互连 ) 是微软公司开放服务结构 (WOSA, W indows Open Services Architecture) 中有关数据库的一个组成部分 , 它建立了一组 规范 , 并提供了一组对数据库访问的 API (应用程序编 程接口 ) , 这些 API利用 SQL来完成其大部分任务 , ODBC 本身也提供了对 SQL语言的支持 , 用户可以直接将 SQL语 句送给 ODBC。一个基于 ODBC的应用程序对数据库的操作 不依赖任何 DBMS, 不直接与 DBMS打交道 , 所有的数据库 操作由对应的 DBMS的 ODBC驱动程序完成 [2 ]。 313 ADO ADO (ActiveX Data Objects) 称为 ActiveX数据对象 , 是 M icrosoft公司开发数据库应用程序面向对象的新接口 , ADO技术已成为 ASP技术用来访问 W eb数据库应用程序 的核心。ADO是 DAO /RDO的后继产物 , 它扩展了 DAO 和 RDO所使用的对象模型 , 具有更加简单 , 更加灵活的 操作性能。ADO在 Internet方案中使用最少的网络流量 , 并在前端和数据源之间使用最少的层数 , 提供了轻量、 高性能的数据访问接口 , 可通过 ADO Data控件非编程和 利用 ADO对象编程来访问各种数据库 [ 3 ]。 4 程序开发过程需要解决的问题 411 系统自带的 ODBC无法连接 SYBASE数据库 如何通过 ODBC连接 SYBASE数据库是本过程中最 需要解决的问题 , ODBC虽然能以统一的方式处理所有的 数据库 , 包括 FoxPro、Access、MYSQL还是 O racle数据 库 , 均可用 ODBC AP I进行访问 , 但 SYBASE正好不在其 支持范围之内 , 经过试验 , 安装 SYBASE的 ODBC驱动并 配置后 , SYBASE数据库连接正常。 412 安全性问题 为了避免在编程过程中对中央数据库进行不必要的 修改 , 我们在 SYBASE中建立了一个只有检索权限的用 户 , 利用该用户名对数据库进行访问。 5 实际操作和程序主要模块 511 安装 ODBC的 SYBASE驱动 W INDOW S系统内置的 ODBC无法连接 SYBASE数据 库 , 必须下载 SYBASE的 ODBC驱动安装后才能连接。安 装后必须创建一个相应的数据源名称后才能在 VB中使 用。见图 1。 图 1 通过 ODBC连接 SYBASE的环境设置 512 在 VB中引用 ADO进行数据查询 其使用为 “ ”→“引用 ”→“M icrosoft Ac2 tiveX Data Objects 2. 8 L ibrary”。见图 2。 图 2 VB中引用 ADO 513 实现代码 Public adocon A s ADODB. Connection ’在声明部分引 用 ADO Public rsado A s ADODB. Recordset ‘连接 SYBASE数据库服务器 D im strConnect A s String Set adocon = New Connection adocon. ConnectionTimeout = 3 sr = " 192. 168. 1. 2, 5000"   ’数据服务器地 址和端口号 db = " sulcm is" ’数据库名称 ·02· 当代图书馆 ·服务论坛· 第 1期 2010年 3月总第 101期 us = " CGI" ’用户名 pd = " 3 3 3 3 3 3 " ’密码 strConnect = " DSN = Sybase; NA = " & sr & " ; DB = " & db & " ; U ID = " & us & " ; PWD = " & pd adocon. Open strConnect ‘查看表结构 , 看哪些是我们所需要的字段 Set rsado = New ADODB. Recordset ’定 义 一 个 ADODB的记录集 D im strSQL A s String rsado. CursorType = adOpenStatic ’显示数据库表中的所有字段 ’strSQL = " select 3 from c_ patron" ’Set rsado = adocon. Execute ( strSQL) ’Text1. Text = " " ’’Text1的 MultiL ine必须设置为 True, 才能使用回车符 ’’Text1的 ScrollBars必须设置为 2, 才能出现上下滚动条 ’For i = 0 To rsado. Fields. Count - 1 ’  If Text1. Text = " " Then ’  Text1. Text = rsado. Fields ( i). Name ’ Else ’  Text1. Text = Text1. Text & vbCrLf & rsado. Fields ( i). Name ’ End If ’Next ’Exit Sub ‘通过 SQL语句检索数据 strSQL = " SELECT cardno, pname FROM c _ patron WHERE cardno = ’800100000’"   ’构建一个 SQL语句检索数据 Set rsado = New ADODB. Recordset  ’定义一个 ADODB 的记录集 D im strSQL A s String rsado. CursorType = adOpenStatic rsado. Open strSQL, adocon, adOpenStatic, adLockOp2 tim istic ’MsgBox " 共查找到 " & rsado. RecordCount & " 条记录 " rsado. MoveFirst  Do W hile Not rsado. EOF    Text2. Text = rsado ( " pname" )   rsado. MoveNext  Loop ’连接 SQL username = " sa" Password = " lib" ServerName = " 192. 168. 1. 3" DatabaseName = " libuser" Set adoconsql = New Connection adoconsql. CursorLocation = adU seClient W ith adoconsql   . ConnectionTimeout = 15   . Provider = " sqloledb"   . Properties ( " Data Source" ). Value = Server2 Name   . Properties ( " Initial Catalog" ). Value = Data2 baseName   . Properties ( " U ser ID" ). Value = username   . Properties ( " Password" ). Value = Password   . Properties ( " Promp t" ) = adPromp tNever End W ith adoconsql. Open 见图 3。 图 3 程序检索结果 6 结语 本程序在 W INDOW S XP和 W INDOW S 2000环境下运 行正常 , 在只安装 ODBC的 SYBASE驱动程序的情况下 实现了对图书馆系统的数据访问 , 操作人员在了解数据 库结构以后 , 结合以上代码并对 SQL查询语句进行进一 步修改后 , 可以方便的编写出各种相关程序和接口 , 方 便图书馆工作的开展。 参考文献 1 Sybase数据库简介 2ChinaUnix_ net. [ 2009 - 06 - 09 ]. http: / / www. chinaunix. net/ jh /21 /1069. htm l. 2 蔡  焰. 用 Excel拓展图书馆管理系统功能的研究和 实践 —基于 Sybase数据库系统 [ J ]. 图书馆界 , 2007 (12) : 62 - 64. 3 常用的数据库访问技术. [ 2007 - 05 - 11 ]. http: / / blog. pfan. cn /gonghuilun /. 作者简介 林晓群 , 男 , 馆员。 收稿日期 : 2009—08—31 ·12·
/
本文档为【自编程连接图书馆数据服务器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索