ado怎么连接多个数据库?

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

求教:
ado能否同时连接2个数据库?
SQL语句应该怎么写?
...全文
326 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
杀神者 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中。










1,216

社区成员

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

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