`
zjut_xiongfeng
  • 浏览: 280190 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在PB中如何动态注册ACCESS的ODBC数据库连接

阅读更多

在PB中如何动态注册ACCESS的ODBC数据库连接

//获取数据库文件

integer ret
string ls_Path, ls_File
ret = GetFileOpenName("选择以前的备份文件", ls_Path, ls_File, "MDB", "Access 文件 (*.MDB), *.MDB")
IF ret = 1 THEN
 if  ls_Path<>'' then
  sle_filename.text=ls_path
 end if
END IF
ChangeDirectory(sys_path)
string   ls_system   //系统目录  
 GetSystemDirectoryA(ls_system,256)  
//数据源的名称为SLGL_ACCESS_RESTORE
//删除原来的ODBC注册
string ls_Description='数据恢复连接'
string ls_AccessFilename
ls_AccessFilename=sle_FileName.Text
if not FileExists(ls_AccessFilename) then
 sle_filename.text=''
 messagebox(sys_ts,'恢复数据库文件不存在!')
 return
end if
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE","DBQ")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE","Description")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE","Driver")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE","DriverId")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE","FIL")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE","SafeTransactions")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE","UID")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet","ImplicitCommitSync")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet","MaxBufferSize")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet","PageTimeout")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet","Threads")  
RegistryDelete("HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet","UserCommitSync")  
 //删除完成
 //建立新的ODBC对ACCESS数据库的连接
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE','DBQ',RegString!,ls_AccessFilename)  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE','Description',RegString!,ls_Description)  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE','Driver',RegString!,ls_system   +   '\odbcjt32.dll')  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE','DriverId',ReguLong!,25)  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE','FIL',RegString!,'MS Access;')  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE','SafeTransactions',ReguLong!,0)  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE','UID',"")  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet','ImplicitCommitSync',RegString!,"")  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet','MaxBufferSize',ReguLong!,2048)  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet','PageTimeout',ReguLong!,5)  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet','Threads',ReguLong!,3)  
RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\SLGL_ACCESS_RESTORE\Engines\Jet','UserCommitSync',RegString!,'Yes')  
//iDT_DateBeg,iDT_DateEnd

分享到:
评论

相关推荐

    PB 连接Access

    接下来,我们需要在PB的SQLCA(SQL Control Area)对象中设置连接参数,以确保PB能够通过ODBC驱动程序连接到Access数据库。 1. 打开PB的代码编辑器,找到并双击a068325对象,这通常是一个窗口或者数据窗口对象。 2....

    \完整pb用户自定义报表设计器(终结版

    2. 在连接窗口中选择ODBC连接,单击'新建' 3. 为本系统自带的Access数据库dwdemo.mdb注册ODBC数据源; 4. 选择你刚建的数据源名称,单击连接完成。 注:如果你要连接到ms sql server, oracle,sybase等数据库你需要...

    完整pb用户自定义报表设计器(终结版)

    完整pb用户自定义报表设计器(终结版) 本程序无须安装,解压后直接运行...2.在连接窗口中选择ODBC连接,单击'新建' 3.为本系统自带的Access数据库dwdemo.mdb注册ODBC数据源; 4.选择你刚建的数据源名称,单击连接完成。

    PB连接sql2000问题

    标题“PB连接sql2000问题”涉及的是在PowerBuilder(PB)环境中与Microsoft SQL Server 2000数据库建立连接时遇到的问题。PowerBuilder是一款强大的开发工具,主要用于构建数据库应用程序,而SQL Server 2000是微软...

    pb图书馆管理

    2. **数据窗口设计**:数据窗口是PB的核心组件,可以用于显示、编辑和操作数据库中的数据。开发者可能创建了定制的数据窗口来处理图书信息,支持排序、过滤和分组等功能。 3. **事件处理**:PB的事件驱动模型使得...

    pb与excel之间导入导出处理.zip

    需要配置ODBC数据源,将Excel文件识别为数据库,然后在PB中通过ODBC连接进行数据操作。 3. **使用OLE Automation**:PB支持OLE(Object Linking and Embedding)自动化,允许直接与Excel对象交互。开发者可以创建一...

    pb程序SIM800C收发短信.zip

    在PowerBuilder中,可以使用ADO(ActiveX Data Objects)或ODBC(Open Database Connectivity)驱动来连接和操作Access数据库,进行数据的查询、插入、更新和删除等操作。 文件名称列表虽然没有具体给出,但根据...

    PB+Oracle調用WebService說明及PB10.5開發類似RESTClient的工具

    在PB应用中,Oracle通常作为后端数据库,通过ODBC或JDBC驱动与PB进行连接,实现数据的存储和检索。 3. WebService: WebService是一种基于互联网的标准,允许不同系统之间的数据交换。它可以是SOAP(简单对象访问...

    在PowerBuilder中操作BLOB数据的技巧

    但是用通常的数据窗口技术无法将 BLOB 类型数据加入到数据库中,也不能将数据库中相应字段的数据提取出来,即使在程序中直接使用 UPDATE 和 SELECT 等 SQL 语句也是无法对 BLOB 类型数据进行操作的。 在 Power...

    PB源码的进销存管理系统

    数据窗口是PB中的核心组件,可以方便地查询、更新和操作Access数据库中的数据。 5. **课程设计** 这个简单的进销存管理系统可能是一个教学项目,旨在让学生掌握PB的基本使用,了解如何构建一个实际的业务系统。...

    数据库系统及应用课程设计

    - 使用PowerBuilder进行应用程序开发,通过自动配置ODBC数据源连接到Access数据库。代码中使用了`GetCurrentDirectoryA()`和`GetSystemDirectoryA()`函数获取当前工作目录和系统目录,然后调用自定义函数`f_odbc`...

    pb三层结构实例

    在PB中,这通常通过SQL语句、DataWindow对象或ODBC(Open Database Connectivity)连接实现。这一层隔离了应用程序与数据库的具体细节,提高了系统的可移植性和稳定性。 **PB源代码** 提供的"pb开发的三层结构的...

    PB操作长整形

    由于BLOB字段的大小可达到0到2GB,因此在数据库中存储和检索这种类型的数据需要特殊的方法。 在 PowerBuilder 7.0 中,处理BLOB数据主要涉及到两个特殊的SQL命令:UPDATEBLOB 和 SELECTBLOB。UPDATEBLOB 用于将BLOB...

    pb开发的三层结构的例子

    在PB开发中,可以使用ADO、ODBC或者PowerBuilder自己的DataWindow对象来实现对数据库的操作。"client"目录可能包含了这些用于连接数据库的脚本或对象。 **二、PowerBuilder关键概念** 1. **DataWindow**: Power...

    一种简单的powerbuilder10数据库编程介绍

    3. **建立数据表**:基于确定的数据关系,在数据库中创建相应的数据表。每个表代表一个特定的数据实体,并包含一系列字段来存储实体的不同属性。 4. **建立数据库**:本案例中使用的是 Access 数据库。需要在 Access...

    PB制作QQ登录界面

    5. 连接处理:虽然描述中未提及,但QQ登录通常涉及网络通信,可能需要使用PB的ADO或ODBC组件连接到服务器,发送登录请求并接收响应。 6. 安全性:模拟QQ登录界面时,应考虑安全性问题,如密码加密传输、错误处理及...

    PB115自制简易相册

    2. **数据窗口组件**:数据窗口是PowerBuilder的核心部分,可以用来显示、编辑和处理数据库中的数据。在这个应用中,数据窗口可能被用来展示照片的元信息,如拍摄日期、地点等。 3. **图像处理**:尽管PB115本身并...

    PB调用WebService

    PB调用WebService是一种在PowerBuilder(PB)应用中集成Web服务的技术。Web服务通常是以SOAP(Simple Object Access Protocol)协议为基础,通过XML(eXtensible Markup Language)进行数据交换的网络API。以下是对...

Global site tag (gtag.js) - Google Analytics