pB自带的数据库怎么连接

pB自带的数据库怎么连接,第1张

以PB9的范例数据库为例:

SQLCADBMS = "ODBC"  //配置连接参数

SQLCAAutoCommit = False

SQLCADBParm = "ConnectString='DSN=EAS Demo DB V9;UID=dba;PWD=sql'"

SQLCAConnect( )//连接数据库

首先,创建一个connectini文件,其内容为: [Database]

DBMS=MSSQL SQL Server 2000

Database=erpUserId=saDatabasePassword=LogId=saLogPassword=

ServerName=familyDbParm=Lock=Prompt=0其中:erp指您要连接的数据库名称;SA是数据库连接ID,Family是指您要连接的数据库的计算机名称,也可以用IP地址来代替。接下来,我们就在系统应用的Open事件中进行编码: string ls_inifile ="connectini"

//进行数据库连接------------------------------------------------

sqlcaDBMS = ProfileString ("dbconnectINI", "database", "dbms", "")

sqlcadatabase = ProfileString ("dbconnectINI", "database", "database", "")

sqlcalogid = ProfileString ("dbconnectINI", "database", "logid", "")

sqlcalogpass = ProfileString ("dbconnectINI", "database", "LogPassWord","")

sqlcaservername=ProfileString("dbconnectINI","database", "servername", "")

sqlcadbparm = ProfileString ("dbconnectINI", "database", "dbparm", "")

sqlcaautocommit=true;

connect using sqlca

Messagebox("错误","不能连接到数据库!请检查数据库连接或者ini配置")elseend if

以下两个方法以供参考:

1,读取ODBC的配置,ODBC的配置是存放在注册表中的,在程序里可以读取该键值可能能够获取ODBC连接到了哪个数据库。

比如,

用户DSN在

HKEY_CURRENT_USER\Software\ODBC\ODBCINI

系统DSN在

HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINI

这个方法的好处是即便没有连接DB也能进行判断。缺点是如果运行程序的用户没有读取注册表权限则不能实现,且不同的数据库连接引擎,ODBC里的键值是不同的,有些甚至不能在ODBC的键值里直接得到数据库名,比如ORACLE,你得到的可能是服务名,这个服务名对应哪个DB,还需要在tnsnamesora中才能确定。这也是前面我说“可能能够获取”的原因。

2,通过读取数据库系统表或视图或过程或函数的方法得到。语法因DBMS不同而异。

比如,

MS SQLSERVER 2005,可以这样写:

select db_name(dbid) from syssysprocesses where spid = @@spid

Sybase ASE 12,可以这样写:

select db_name(dbid) from mastersysprocesses where spid = @@spid

等等

这个方法的好处是不访问注册表也能判断。缺点是需要连接DB后且具备相应读取权限才能实现。

使用哪种方式,要看你自己实际情况中哪种更方便。

以上就是关于pB自带的数据库怎么连接全部的内容,包括:pB自带的数据库怎么连接、[求助]pb中如何连接sql的数据库、PB可否查看系统正连接哪个数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9705278.html

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

发表评论

登录后才能评论

评论列表(0条)

保存