ado怎么连接多个数据库?

vpqkkk 2011-03-16 06:39:52
我做报表,需要从2个sybase数据库里取数,如分别是数据库A的表a和数据库B的表b

求教:
ado能否同时连接2个数据库?
SQL语句应该怎么写?
...全文
232 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
杀神者 2011-04-06
为什么不把两个表建在一个数据库中啊
回复
king06 2011-03-28
两个不同的数据库不能这样简单的写到一起,要有专门的方法.
sql server可以用链接服务器,还有那些OPENDATASOURCE,OPENROWSET之类的方法,不知道sybase有没有.
回复
vpqkkk 2011-03-28
我现在已经建了两个ADO连接了,那接下来应该怎么写语句?

sql="select * from ado1.a, ado2.b where adoconn1.a.no=adoconn2.b.no"
adorst.open sql,adoconn1,adoconn2

这样吗?,肯定不对
怎么弄啊?急死了
回复
wangzai29 2011-03-20
sql 有一个OPENROWSET 的 函数 ,不知道你那个数据库 支持不?
回复
wo22ni 2011-03-17
新建两个ADO不就成了。
回复
vpqkkk 2011-03-17
但是我的SQL语句需要关联这2个表查询啊,搞2个connection的话,怎么语句要怎么写?
my_record_set.Open 的话后面用mysybase_cnn1还是mysybase_cnn2?
回复
dbcontrols 2011-03-17
应该可以做到,但是一般人都没做过。
其中标识一个表可以用[库名].[表名].[字段名]
回复
chinaboyzyq 2011-03-17
能,sybase我没有用过,SQL SERVER 如下:

本地两个库:
连接其中一个库(如master),SQL语句如下:

Insert into TB (jh) select jkd from pubs..gprsb


本地一个库,远程一个库或两个远程库:
连接一个库(如pubs),SQL语句如下:

select * from openrowset( 'SQLOLEDB ', 'sql服务器名'; '用户名'; '密码',数据库名.dbo.表名)

回复
ningweidong 2011-03-17
你定义2个connection,分别联不同的数据库就行了
回复
wjl123 2011-03-16
你可以定义两个CONNECTION 例:

Dim mysybase_cnn1 As New ADODB.Connection
Dim mysybase_ConnStr As String
Dim my_record_set As ADODB.Recordset
Set mysybasecmd = New ADODB.Command
mysybase_ConnStr = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=" & "localhost" & ";" & _
"DATABASE=" & "my_sybase_db" & ";" & _
"UID=" & "root" & ";PWD=" & ";" & _
"OPTION=3;stmt=SET NAMES GB2312" //注:这个是MYSQL的ODBC DRIVER ,你要用SYBASE的ODBC DRIVER ,具体的你在从网上查下,那里可以下发SYBASE的ODBC DRIVER .

mysybase_cnn1.Open mysybase_ConnStr

mysybasecmd.ActiveConnection = mysybase_cnn1

my_record_set.Open "select * from table_A", mysybase_cnn1, adOpenKeyset, adLockOptimistic //连到SYBASE TABLE A中,数据被读入到此RECORD SET中。

你可以再定义一个用于连接表B:

Dim mysybase_cnn2 As New ADODB.Connection
Dim mysybase_ConnStr As String
Dim my_record_set As ADODB.Recordset
Set mysybasecmd = New ADODB.Command
mysybase_ConnStr = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=" & "localhost" & ";" & _
"DATABASE=" & "my_sybase_db" & ";" & _
"UID=" & "root" & ";PWD=" & ";" & _
"OPTION=3;stmt=SET NAMES GB2312" //注:这个是MYSQL的ODBC DRIVER ,你要用SYBASE的ODBC DRIVER ,具体的你在从网上查下,那里可以下发SYBASE的ODBC DRIVER .

mysybase_cnn2.Open mysybase_ConnStr

mysybasecmd.ActiveConnection = mysybase_cnn2

my_record_set.Open "select * from table_B", mysybase_cnn2, adOpenKeyset, adLockOptimistic //连到SYBASE TABLE B中,数据被读入到此RECORD SET中。










回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2011-03-16 06:39
社区公告
暂无公告