pb9 通过ole db连接sqlite3数据库
2013-02-17 11:22:05
@H_404_4@
分类:Python/Ruby
sqlite3数据库,简单而功能强大,比起ini文件保存用户设置,更简单安全,为什么使用数据库存用户设置,由开发者自己去想吧
进入话题:
pb中可以用ole DB方式在不注册odbc的情况下直接连接数据库,下面直接给出代码,供有需要的参考
一、下载sqliteodbc.exe,具体下载位置,直接到网上搜索一下,其实只是需要里面的一个sqlite3odbc.dll这个文件
二、在PB中打开Database Profiles配置选项
Provider选择MSDAsql
Extended Properties:Driver=sqlite3 ODBC Driver;Database=D:\workSpace\PB\Penavicoqd\cfg.db;PassWord=
注意在没有安装sqliteodbc的情况下,必须手工注册sqlite3 ODBC Driver项值
如下图
// Profile cfg
sqlCA.DBMS = "OLE DB"
sqlCA.AutoCommit = False
sqlCA.DBParm = "PROVIDER='MSDAsql',PROVIDERSTRING='Driver=sqlite3 ODBC Driver;Database=D:\workSpace\PB\Penavicoqd\cfg.db;PassWord='"
public function boolean pub_f_put_sysvar (string as_varcode,any aa_varvalue);//Public function pub_f_put_sysvar (string as_varcode,any aa_varvalue) returns boolean //string as_varcode //any aa_varvalue RETURN pub_f_put_sysvar(as_varcode,aa_varvalue,TRUE) end function public function boolean of_regedit_driver (string as_path);//String val[] String val String key key = "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\sqlite3 ODBC Driver" //if RegistryGet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI","sqlite3 ODBC Driver",RegMultiString!,val)<> 1 then If RegistryGet ( key,"Driver",RegString!,val ) <> 1 Then if RegistrySet( key,as_path+"\sqlite3odbc.dll") <> 1 then Return False end if If RegistryGet ( key,"Setup",as_path+"\sqlite3odbc.dll") <> 1 then Return False end if //end if Return True end function