- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Access数据库和SQL Sever数据库格式转换研究
Access数据库和SQL Sever数据库格式转换研究
【摘要】:针对在实现移动电子警察信息系统实现过程中异构数据库的相互访问问题,文章分析了ODBC技术以及利用VB访问数据库的一般方法,实现了Access数据库和SQL Sever数据库之间的数据格式转换。
【关键词】:开放数据库互连; 异构数据库; 数据格式转换
中图分类号:TP3 文献标识码:B 文章编号:1002-6908(2008)0120024-01
1. 引言
在实现移动电子警察信息系统的过程中,一个比较头疼的问题就是各交管部门的系统不同,在本例中,就要实现在Access数据库和SQL Sever数据库之间的数据格式转换,我以Visual Basic为开发工具,结合使用开放数据库互连技术(ODBC),以Access为管道,实现二者之间的数据格式转换,最后写入到Oracle数据库。
2. ODBC技术
Microsoft公司为方便异构数据库进行数据共享而专门提出一个标准应用程序接口(ODBC)。它允许应用程序以结构化查询语句(SQL)为数据存取标准,来存取DBMS管理的数据。应用程序通过数据库驱动程序访问特定的数据源,该驱动程序实质上是一个实现ODBC函数调动的动态链接库。ODBC提供了一个ODBC函数库、SQL语法、错误代码、连接登录DBMS、数据类型的标准接口,使应用程序可在各种应用和数据源之间传递数据。
3. 通过VB访问数据库
为了使用和操作结构化数据库,Visual Basic提供了良好的数据库体系结构。在体系结构中,Visual Basic 可以使用两种数据访问技术:IET(Joint Engineering Technology)引擎和ODBCDirect技术;并可以使用三种数据访问方法:数据控件、数据访问对象和直接调用ODBC API函数。在Visual Basic的数据库应用程序中,可以访问3种类型的数据库:Visual Basic数据库、外部数据库和ODBC数据库。Visual Basic数据库也叫内部数据库,具有和Microsoft相同的数据格式。外部数据库又称为ISAM数据库如Dbase、VFP等。ODBC数据库指的是基于ODBC标准的客户/服务器模式的数据库。如Microsoft SQL Server。
4. 实现
实现Access数据库和SQL Server数据库之间的数据格式转换,转换步骤是:(1)系统要求用户通过主界面选择源数据库,并根据用户所作出的选择采用相应方式打开源数据库。(2)读出源库结构和相应的数据内容,并转换成Access数据格式。(3)创建Access空库,向目标库中写入记录。这样将SQL Server数据库的数据转换到Access中。我们的转换依据如下表:
最后统一的将Access数据库中的数据转换成Oracle数据库中的数据,因为部门级数据库为Oracle数据库。
4.1 打开数据库
对于SQL Server数据库,需要通过ODBC API打开。系统首先调用SQL ALLoc Env函数获得一个环境句柄,ODBC利用该句柄及少许内存与其他应用程序通信,然后调用SQL ALLoc Connect函数分配内存,取回一个数据库连接句柄。最后根据用户输入的数据源名、用户名、口令等通过SQL Connect函数连接指定的资源。
4.2 读取数据库中的数据
对于SQL Server中的数据,读取内容时使用Additem方法将表名称等属性值放入List1列表框中。使用For循环读出数据库中所有的表信息,当循环结束时,选取当前表项为第一项。采用类似的方法(循环处理手段)在List2框中显示当前选定的表项的所有域信息。在实际编程 ,较多地使用ODBC API。下面程序片段读出SQL Servser库中选定的表中的所有的记录值:
rc=SQLNumResultCols(hstmt,pccol)
for i=1 to pccol
rc=SQLColAttributeString(hstmt,I,SQL_COLUMN_LABEL,Col1,255,CollAbLen,larg)
FieldName(i)=Left$(Col1,Collablen)
Next i
K=1
Do Until SQLFetch(hstmt)=SQL_No_DATA_FOUND
Col2=String$(80,0)
For i=1 to pccol
Rc=SQLGetData(hstmt,I,SQL_C_CHAR,Col2,Leb(Col
您可能关注的文档
最近下载
- CJJ61-2017 城市地下管线探测技术规程.docx VIP
- 建筑工程招标文件模板模板.doc VIP
- CJJT-269-2017-城市综合地下管线信息系统技术规范.pdf VIP
- 1_1_2021年第四季度护理安全管理.pptx VIP
- 培训机构教务年度工作总结.pptx VIP
- T_CSGPC 027-2024 地下市政基础设施 综合管理信息平台建设技术规范.docx VIP
- 子宫内膜息肉(宫腔镜子宫病损切除术)临床路径【2020版】(1).pdf VIP
- 艺术类院校课程建设工作计划.docx VIP
- 小微企业安全生产标准化管理体系要求编制说明.pdf VIP
- 吴在望生化九大代谢图(局解).pdf VIP
原创力文档


文档评论(0)