如何实现一个SQL访问二个SQL数据库?
我有二个SQL数据库,他们的结构及编码都是一样的,需要做一个汇总,我怎么样才能在一个SQL中即可以将符合要求的数据都汇总到一张表内?在连接的时候我用了如下的代码:pbulic cnn
pbulic cnn1
pbulic rstsub mylink()
set cnn= new adodb.conncention
set rst= new adodb.recordstcnn.open "...datasoure=004"
cnn1.open "...datasoure=005"
end sub
我怎么折腾这个SQL总是写不出来,在DB数据库中有联帮数据库,可是在SQL中却没有,我该怎么办啊?知道的请指教!谢谢!
我有二个SQL数据库,他们的结构及编码都是一样的,需要做一个汇总,我怎么样才能在一个SQL中即可以将符合要求的数据都汇总到一张表内?在连接的时候我用了如下的代码:pbulic cnn
pbulic cnn1
pbulic rstsub mylink()
set cnn= new adodb.conncention
set rst= new adodb.recordstcnn.open "...datasoure=004"
cnn1.open "...datasoure=005"
end sub
我怎么折腾这个SQL总是写不出来,在DB数据库中有联帮数据库,可是在SQL中却没有,我该怎么办啊?知道的请指教!谢谢!
编程时可以使用BCP语句。
union
select * from db2.dbo.t2
union
select * from db2.dbo.t2这是连接查询二个表,这个我知道,这时候的CNN.open如何写?
打开一个数据库一的连接
select *
from db1.dbo.tb1 s,db2.dbo.tb1 t
where s.id=t.id
一、标准模块
Option Explicit
Public g_Cnn As ADODB.Connection '全局连接Public Function Connect() As Boolean '连接数据库
On Error GoTo err
Dim strConn As String If Connect = True Then Exit Function
Set g_Cnn = New ADODB.Connection
strConn = "Driver={SQL Server};Server=yourServer;Uid=sa"
g_Cnn.CursorLocation = adUseClient
g_Cnn.Open strConn
Connect = True
Exit Functionerr:
Connect = False
MsgBox err.DescriptionEnd Function二、窗体Private Sub cmdExcute_Click()
Dim sql As String
Dim rs As ADODB.RecordsetSet rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStaticsql = "select * from db1.dbo.tb1 union select * from db2.dbo.tb2"
Set rs = g_Cnn.Execute(sql)'……处理g_Cnn.Close
Set g_Cnn = NothingEnd Sub