如何创建跨数据库实例的视图

如何在SQL Server 2005中创建跨数据库实例的视图?
例如,数据库实例A和B都有表test,我想通过一个视图把A和B中test表的内容组成一个视图,方便查看。
是不是select × from A.test
UNION ALL
select * from b.test
就可以?
可是,我这个视图,放在哪个数据库实例下面呢?

步骤如下:

    打开SQL Server可视化编辑视图,进入数据库

    进入视图菜单,右键点击顶层文件夹,新建视图,不要做任何选择操作

    在下面输入SQL语句,格式如下:

    鼠标再点一下上面菜单,就会出现对应的跨库数据表。把他做一个视图,存储在本数据库,就可以I做跨库数据分析了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-09
有多种方法啊。介绍其中一种,使用mysql数据库的ODBC驱动。步骤:
1.安装mysql数据库的ODBC驱动,mysql-connector-odbc-3.51.23-win32.msi(其中*是版本号),下载并安装。
2.在Mysql中创建数据库实例。
3.打开控制面板 -- 管理工具 -- 数据源ODBC,在用户DSN中添加一个MySQL ODBC 3.51数据源。
4.在登录login选项卡中输入数据源名称Data Source Name,此处输入MysqlDNS(也可以自己随便命名,只要在后面导入数据的时候选择正确的数据源名字就行);然后输入服务器Server,用户User,密码Password,输入正确后选择要导入的数据库,Database选择你需要导入的数据库。在连接选项connect options中根据需要设置MySql使用的端口port和字符集Character Set。
注:字符集一定要和Mysql服务器相对应,如果Mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到Sql Server可能会出现问号乱码。
5.打开sql server企业管理器,选择该数据库,单击右键选择所有任务 -- 导出数据。
6.‘选择数据源’为默认,‘选择目的’为刚刚安装的mySQL数据源,用户/系统DSN为MysqlDNS。在‘指定表复制或查询’中选择‘从源数据库复制表和视图’,在‘选择源表和视图’里,选择需要导入的表,即可将数据从MSSQLServer数据库导入到MySql数据库中。本回答被提问者采纳
第2个回答  2010-09-03
select * from a..text UNION ALL select * from b..text

注意 数据库名..表名 中间是2个"." —— a..text

放在哪个实例下都无所谓,关键是你要登陆哪个数据库,要是这2个数据库有不同的权限的话就复杂了。
相似回答