易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server教程:读取第三方数据库的数据

作者: cnd8,  出处:IT专家网论坛, 责任编辑: 陈子琪, 2010-04-21 13:00   现在需要在一台服务器(A)上的数据库(Master)里访问另外一台服务器(B)的另外两个数据库(NZ 和 AU)。AU 和 NZ 是网站的部分实时数据,目前某一步操作的REPLICATION方案是从服务器B到A,AU / NZ 的表结构同Master 数据结构基本一致。  现在需要在一台服务器(A)上的数据库(Master)里访问另外一台服务器(B)的另外两个数据库(NZ 和 AU)。AU 和 NZ 是网站的部分实时数据,目前某一步操作的REPLICATION方案是从服务器B到A,AU / NZ 的表结构同Master 数据结构基本一致。   这样一来,当把AU Replication 到 Master 后,在把 NZ Replication 到 Master , Master 里的就只剩 NZ 的数据了。反过来就只有AU的了,具体的Replication 是怎么一回事,我也不懂,也没有细看。   如果能在Master 里直接操作 AU 和 NZ 就好了。   SQLServer 有函数:   OPENROWSET 和 OPENDATASOURCE   这两个函数不但能实现从另外的数据库读数据,而且还能从EXCEL、TXT, ORACLE, ODBC 等读数据。   --启用Ad Hoc Distributed Queries:   exec sp_configure 'show advanced options',1   reconfigure   exec sp_configure 'Ad Hoc Distributed Queries',1   reconfigure   SELECT *   from OPENDATASOURCE(   'SQLOLEDB',   'Data Source=SQLServerName;User ID=sa;Password=xxx'   ).Help.dbo.Help_Category   或   select * from openrowset( 'SQLOLEDB ', 'SQLServerName'; 'sa'; 'xxx', Help.dbo.Help_Category )   --关闭Ad Hoc Distributed Queries:   exec sp_configure 'Ad Hoc Distributed Queries',0   reconfigure   exec sp_configure 'show advanced options',0   reconfigure   但是,这样写着有点复杂,而且不便于维护,假如数据库密码改变了,就需要把一个一个把密码改正。   Oracle 里有 DB Link, 而且语法非常简洁。   查了一下帮助,SQLServer 里有 "链接服务器" 这个东东。要创建 链接服务器需要用到SQLServer 的一个系统存储过程:   sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ]   [ , [ @provider= ] 'provider_name' ]   [ , [ @datasrc= ] 'data_source' ]   [ , [ @location= ] 'location' ]   [ , [ @provstr= ] 'provider_string' ]   [ , [ @catalog= ] 'catalog' ]


相关文档:

SQL批量更改用户表内字符型字段的排序规则

--------------------------------------------------------------------------
--  Author : htl258(Tony)
--  Date   : 2010-04-23 20:33:15
--  Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
--          Jul  ......

SQL日期格式化应用大全


Sql Server 中一个非常强大的日期格式化函数
--
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(10 ......

SQL 跨库查询

DECLARE @ServerName nvarchar(50) --数据库服务器名称(数据库服务器IP)
DECLARE @DataBaseName nvarchar(50) --数据库名称
DECLARE @UserName nvarchar(50)   --登录数据库用户ID
DECLARE @UserPwd nvarchar(50)   --登录数据库密码
DECLARE @TbName nvarchar(50)   --表名字
DECLAR ......

使用SQL语句启动SQL Server外围组件服务

-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'CLR', 0
GO
-- To update the currently configured value for this feature. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号