高分求助vb数据库高手!解决问题!!!

Hollen2003 2003-08-22 02:35:21
一个oracle的数据集orars,一个access的数据集accrs,其字段名是一样的
怎么样才能将orars的 数据,导入导accrs呢?
在ado里面有批量传送数据吗?急?高分筹谢!!!
...全文
35 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
changechange 2003-08-23
  • 打赏
  • 举报
回复
为什么不用链接表完成哪?

建立链接表以后可以直接用简单的 select into来完成啊
neo40 2003-08-23
  • 打赏
  • 举报
回复
例如
select * into c:\mydb.accrs from orars
就是把orars导入到mydb.mdb这个文件的accrs表中,这回明白了么
在VB里,ADO执行非查询SQL语句是用ADODB.Connection.Execute 的
在第一段代码里是自动生成一个空的ACCESS数据库,第二段代码里没有,是因为你的问题里提到的这个数据库可能已经存在了,你只要把路径添上就行,否则会报错,说没有这个数据库,
Hollen2003 2003-08-23
  • 打赏
  • 举报
回复
neo40
哈哈,我这几天在项目现场还没有试,但我星期一要试一下
但是你没有用过oracle,我想不一定成功!
这样吧,能不能把你qq给我,如果在这里你不方便的话,
发到我邮箱里面zhu_jie2003@etang.com
liuxiang800314 2003-08-23
  • 打赏
  • 举报
回复
neo40 你的QQ能否留下
neo40 2003-08-23
  • 打赏
  • 举报
回复
如果上面的方法都不行的话你只能一条记录、一个字段的追加了 ^^
neo40 2003-08-23
  • 打赏
  • 举报
回复
不用一致也行,因为我没用过oracle,用第一种方法(就是那个即有ADO又有DAO的那个例子)的话是完全没问题的,但用第二种方法的话不一定100%能成功,因为你那个表(accrs)已经存在,最好是导出到一个不存在的表里,明白没,就是这个ACCESS数据库是空的,没有表,但通过SQL语句来创建一个表(注意用这两种方法创建的表是ACCESS7.0格式的)把ORACLE的数据表整个都变成ACCESS的,这么说你明白了吧。
Hollen2003 2003-08-23
  • 打赏
  • 举报
回复
是不是两个数据集的字段的名和数量要一致呀?
KJ_Wang 2003-08-22
  • 打赏
  • 举报
回复
private sub Output()
dim rstemp as adodb.recordset

set rstemp=cn.execute("Select * from OracleTable")
dim rsAccess as new adodb.recordset
rsaccess.open "Select * from AccessTable",cn,......
cn.begintrans
on error goto SaveErr
do whille not rstemp.eof
with rsaccess
.addnew
for i=0 to rstemp.fields.count-1
.fields(i).value=rstemp.fields(i).value
next
.update
end with
rstemp.movenext
loop
cn.committrans
exit sub
SaveErr:
msgbox "导入失败!",vbinformation,"操作提示"
end sub
Hollen2003 2003-08-22
  • 打赏
  • 举报
回复
ss.Execute "select * into " + App.Path + "\ACCESS数据库名(注意:不用写扩展名).accrs from orars"

这里不会是把accrs,orars放在这个select语句中吧??????
viena 2003-08-22
  • 打赏
  • 举报
回复
打开access,获取外部数据-导入-文件类型选odbc Databases
neo40 2003-08-22
  • 打赏
  • 举报
回复
如果你的ACCESS数据库是早就建立好的话,就用下面的代码

Dim ss As New ADODB.Connection

ss.ConnectionString = "Provider=MSDAORA.1;Data Source=你的数据库;Persist Security Info=False"
ss.Open
ss.Execute "select * into " + App.Path + "\ACCESS数据库名(注意:不用写扩展名).accrs from orars"



neo40 2003-08-22
  • 打赏
  • 举报
回复
方法来拉

Dim ss As New ADODB.Connection
Dim db As DAO.Database

Set db = CreateDatabase(App.Path + "\savedb.mdb", dbLangGeneral, dbEncrypt)
db.Close
Set db = Nothing

ss.ConnectionString = "Provider=MSDAORA.1;Data Source=你的数据库;Persist Security Info=False"
ss.Open
ss.Execute "select * into " + App.Path + "\savedb.tablename from mytbl"

因为我没连过oracle的数据集,所以我的ConnectionString可能不对,连接的方法你应该比我了解,以上代码可以把任何的数据库转换成ACCESS7.0的,
富察咪咪 2003-08-22
  • 打赏
  • 举报
回复
ADO没有传送数据的(至少我没有找到)只能从orars的数据循环逐条写入access的数据集,或者干脆直接逐条拼写SQL语句直接插入access数据库。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧