谁知道pb用oledb怎么连有密码的access的数据库

谁知道pb用oledb怎么连有密码的access的数据库,第1张

PB提供了一个DATA LINK 的接口使我们可以通过UDL文件来连接带有密码的ACCESS。

这样我们就可以通过动态生成UDL文件,然后连接ACCESS数据库,具体做法如下:

Integer li_FileNum

String ls_udl

//写入UDL

ls_udl = "[oledb]~r~nEverything after this line is an OLE DB initstring~r~n"

ls_udl+= "Provider=Microsoft.Jet.OLEDB.4.0User ID=AdminData Source=数据库路径Persist Security Info=FalseJet OLEDB:Database Password=密码"

f_writeFile("Connect.udl",ls_udl,"Unicode") //UDL 要求是UNICODE编码

// Profile msg

SQLCA.DBMS = "OLE DB"

SQLCA.AutoCommit = False

SQLCA.DBParm = "PROVIDER='Microsoft.Jet.OLEDB.4.0',DATALINK='connect.udl'"

Connect

FileDelete("Connect.udl")

if sqlca.sqlcode=-1 then

messagebox('提示','数据库连接错误.~r~n'+sqlca.sqlerrtext)

end if

将一下文本另存为 f_writefile.srf,只有PB9及其以前的版本需要这样做,BP10之后可以直接使用PB的FileOpen来解决

$PBExportHeader$f_writefile.srf

$PBExportComments$写入到指定格式的文件中

global type f_writefile from function_object

end type

forward prototypes

global subroutine f_writefile (string as_file, string as_str, string as_typ)

end prototypes

global subroutine f_writefile (string as_file, string as_str, string as_typ)//====================================================================

// 事件: .f_writefile()

//--------------------------------------------------------------------

// 描述:写入到指定格式的文件中,用于PB9生成UNICODE\UTF8文件

//--------------------------------------------------------------------

// 参数:

// value string as_file 文件名

// value string as_str 要写入的内容

// value string as_typ 文件编码类型 "UNICODE" / "UTF-8"

//--------------------------------------------------------------------

// 返回: (none)

//--------------------------------------------------------------------

// 作者: topany 日期: 2008年06月30日

//--------------------------------------------------------------------

// 版权: Topany

//--------------------------------------------------------------------

// 修改历史:

//

//====================================================================

OLEObject ole_ADOStream

ole_ADOStream = Create OLEObject

ole_ADOStream.ConnectToNewObject("ADODB.Stream")

ole_ADOStream.Open()

ole_ADOStream.Position = 0 //Position为0才能设置Charset

ole_ADOStream.Type = 2 //文本数据 1-adTypeBinary 2-adTypeText

ole_ADOStream.Charset = as_typ

ole_ADOStream.WriteText(as_str)

ole_ADOStream.SaveToFile(as_file,2)

ole_ADOStream.Close()

Destroy ole_ADOStream

end subroutine

在powerbuilder软件界面,点击上面数据库图标。

2

d出Database Profiles窗口,在此窗口内,双击图中标注ODBC Administrator项。

3

在d出的ODBC数据源管理器中点击右侧的添加按钮。

在d出的创建新数据源窗口中,点击最下方SQL Server Native Client 10.0项。

d出创建到SQL Server的新数据源窗口,输入任意名称、描述,服务器处输入(local),点击下一步。

在新的界面最上方“更改默认数据库为”前勾选,下方选择你的程序想要连接的数据库。点击下一步。

一直点击下一步直到如图界面,到此数据源的添加基本完成,点击下方测试数据源,提示成功后关闭此界面即可;如果不成功请从头再次 *** 作,注意每一个小细节。

上个步骤关闭窗口后,回到原来的ODBC数据源管理器窗口,可以看到列表上方出现了刚刚创建的数据源,关闭此窗口。

回到Database Profiles窗口,如图,点击ODB ODBC,然后点击右侧New按钮。

新d出Database Profile Setup-ODBC窗口,填写Profile Name,下拉列表选择对应Data Source项。(如果你的数据库没有设置登录密码,则下方的user id和password项不需填写)

中间穿插一步,如图,在这个窗口上方点击Preview标签,复制下方的一段代码,留待后面使用。

点击OK,关闭此窗口。

点击新添加的那一项,如图,点击右侧Connect按钮,然后数据库小图标会出现一个绿色小勾。到这里,连接数据库的所有配置已经完成,只需在程序中添加连接数据库的代码就可以了。

如图,我在我的一个程序窗口的open事件中添加了刚刚复制的那段代码,这样这个窗口在打开时就可以直接连上数据库了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6672910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存