hur.cn - 华软网

 热门搜索

pb9.0 如何连接access97数据库,高分奖励

  作者:未知    来源:网络    更新时间:2018/6/13
我 用pb9.0 作了 个 系统。连接access97 的数据库,通过odbc 连接上了 ,但在pb的 database下看得到每个表,但是表里得 内容看不到,结构也看不到。
用access2000得结构看得到了 ,但是内容没有,
提示“select error sqlstate =07001
【micfosoft】【odbc microsoft access driver】 参数不足,期待是2。”
看得我不明白咱们回事

请高手给个好的连接access数据库得 好方法!
------华软网友回答------
我现在作得 系统,数据库是已经预先在用得,一个是几年前得还是access97得版本,
另一个是2000得版本,而且两个数据库中得一些表都要用到。
请给个好建议!

------华软网友回复------
用oledb连接很简单的
------华软网友回复------
pb  里有oledb吗

------华软网友回复------
有ole连接的,但是在安装pb9时候要选择自定义安装,而不要选择典型安装,默认是不安装oledb引擎的
------华软网友回复------
代码例子:
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='Microsoft.Jet.OLEDB.4.0',DATASOURCE='d:\a.mdb'"
//SQLCA.LogPass = ""
//SQLCAa.LogId = ""

CONNECT USING SQLCA;

IF SQLCA.sqlcode = -1 THEN
Messagebox('连接错误',SQLCA.sqlerrtext)
halt close
END IF
------华软网友回复------
楼上的方法我试过(access95、access2000)都提示错误:

DBMS OLE DB is not supported in your current installation


我用的也是PB9。


但我用下面的语句可以,前提必须先建ODBC:


//数据库所在路径
string ls_dbq

ls_dbq= "d:\a.mdb"
SQLCA.DBParm = "ConnectString='DSN=MS Access Database;UID=;PWD=;DefaultDir=;DBQ="+ls_dbq+";'"
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = True
connect using sqlca;

if sqlca.sqlcode<>0 then
  messagebox('警告!','错误:'+sqlca.sqlerrtext)
end if



------华软网友回复------
你检查一下是否安装了oledb连接接口吧,我用上面代码可以连接ACCESS的. 如果你安装了,你打开database画板后可以看到有OLE DB项的. 如果没有安装,请用PB的安装盘再装一次
------华软网友回复------
建议还是别用ACCESS 数据库了,我前两天刚用PB9.0 + ACCESS 做了个业务程序,但几天后我又改成SQL SERVER 了,因为ACCESS 数据类型上太多问题,程序很不稳定,但我改成SQL 后,同样的程序,极快。只是我一点建议。
------华软网友回复------
谢谢lzheng2001(1加1),我确实是按默认方式安装PB9的。我重新按自定义方式安装PB9就可以用了。但由于数据库路径太长,在DB Profile中无法加入包含路径的数据库名,有点遗憾。尽管如此,还是要再次感谢你。

不论楼主是否给分,但我会另开贴给分以表谢意。




to:config_w(美酒) 

不是想用还是不想用的问题,其实我早就不用access了。但我的系统要和别的系统交换数据,而别的系统用的就是access,我没办法不用哦。
------华软网友回复------
交换数据可以尝试用数据倒换工具啊,象dts这种,我宁愿用sql anywhere5也不用access
------华软网友回复------
楼上的没看明白我的意思。

别人的系统我是不能进去的,只能用对方提供的数据接口,这其中就包括对方提供的用access存放的参数库,没办法。

     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。