Dim connstr As String
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
connstr = "Provider=MSDAORA.1;User ID=1;Password=1;Data Source=ora1;Persist Security Info=False"
conn.Open connstr
rs.CursorLocation = adUseClient
rs.Open "select jh,wj,kgrq,xjrq,tgxs from table1", conn, adOpenKeyset, adLockPessimistic
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDAORA.1;User ID=2;Password=2;Data Source=ora32;Persist Security Info=False"
cn.ConnectionTimeout = 30
cn.Open
cn.Execute "insert into table2 select jh,wj,kgrq,xjrq,tgxs from table1"
用上面的代码已经成功建立连接,但是插入过程提示无此表名,
用cn.Execute "insert into table2 select jh,wj,kgrq,xjrq,tgxs from OPENDATASOURCE('MSDAORA.1','Data Source=ora1;User ID=1;Password=1').ora1.dbo.table1" 提示:SQL command not properly ended.
请教各位如何解决?最好能给出代码例子!
5 个解决方案
#1
用DBLink在后台做比较省事
#2
楼上能具体说一下吗?这个功能以后要集成到软件中,所以需要用代码实现!
#3
1楼说的其实最简单.用DBLINK把两个数据库连接起来. 然后用SQL解决..或者你如果想实时的数据传输的话.
你可以再写一个触发器.(可以GOOGLE一下,例子很多)
如果你用程序写的话.我这只提供思路..本人开发过.
建立DBLINK. 然后分别打开两个数据库,通过在程序里写SQL执行.最后COMMIT.完了.
如果不用DBLINK,可以先从第一个DB中取出数据存在内存里(DATATABLE,DATAVIEW,DATASET..),
然后通过程序再INSERT 至第二个DB中.
明白了吗?
你可以再写一个触发器.(可以GOOGLE一下,例子很多)
如果你用程序写的话.我这只提供思路..本人开发过.
建立DBLINK. 然后分别打开两个数据库,通过在程序里写SQL执行.最后COMMIT.完了.
如果不用DBLINK,可以先从第一个DB中取出数据存在内存里(DATATABLE,DATAVIEW,DATASET..),
然后通过程序再INSERT 至第二个DB中.
明白了吗?
#4
不错
#5
SYUEHOKO说的很清楚,思路大致清晰了,我去实现一下!
#1
用DBLink在后台做比较省事
#2
楼上能具体说一下吗?这个功能以后要集成到软件中,所以需要用代码实现!
#3
1楼说的其实最简单.用DBLINK把两个数据库连接起来. 然后用SQL解决..或者你如果想实时的数据传输的话.
你可以再写一个触发器.(可以GOOGLE一下,例子很多)
如果你用程序写的话.我这只提供思路..本人开发过.
建立DBLINK. 然后分别打开两个数据库,通过在程序里写SQL执行.最后COMMIT.完了.
如果不用DBLINK,可以先从第一个DB中取出数据存在内存里(DATATABLE,DATAVIEW,DATASET..),
然后通过程序再INSERT 至第二个DB中.
明白了吗?
你可以再写一个触发器.(可以GOOGLE一下,例子很多)
如果你用程序写的话.我这只提供思路..本人开发过.
建立DBLINK. 然后分别打开两个数据库,通过在程序里写SQL执行.最后COMMIT.完了.
如果不用DBLINK,可以先从第一个DB中取出数据存在内存里(DATATABLE,DATAVIEW,DATASET..),
然后通过程序再INSERT 至第二个DB中.
明白了吗?
#4
不错
#5
SYUEHOKO说的很清楚,思路大致清晰了,我去实现一下!