获得远程数据库信息的存储过程
Create Procedure [dbo].[GetProductList]
@DataBase_InsertUser varchar(50),
@DataBase_ID varchar(50)
AS
DECLARE @DataBase_Address varchar(50) --------------远程数据库地址
DECLARE @DataBase_LoginName varchar(50)-----------登录名
DECLARE @DataBase_DBS varchar(50)--------------------数据库名
DECLARE @DataBase_Table varchar(50)---------------------表名
DECLARE @DataBase_PassWord varchar(50)--------------密码
BEGIN
SET @DataBase_Address=''
SET @DataBase_LoginName=''
SET @DataBase_DBS=''
SET @DataBase_Table=''
SET @DataBase_PassWord=''
---获取最新数据时先把本地旧数据删除
delete FROM ProductInfo Where PI_DataBase=@DataBase_ID
---从本地获得已存在的服务器信息
select @DataBase_Address=[DataBase_Address],@DataBase_LoginName=[DataBase_LoginName],
@DataBase_DBS=[DataBase_DBS],@DataBase_Table=[DataBase_ProTable],
@DataBase_PassWord=[DataBase_PassWord]
FROM DataBaseInfo WHERE [DataBase_DelFlag]=0
AND [DataBase_ID]=@DataBase_ID
----将远程数据库信息存储到本地
declare @s varchar(8000)
set @s='INSERT INTO ProductInfo SELECT
[PI_ID],'+@DataBase_ID+'
'+@DataBase_InsertUser+',GETDATE(),[PI_OrderNum],[PI_IsTrue],[PI_Clicks],[PI_Best],[PI_Hot],[PI_LinkProduct]
FROM
OPENROWSET
(''sqloledb'','''+@DataBase_Address+''';'''+@DataBase_LoginName+''';'''+@DataBase_PassWord+''','+@DataBase_DBS+'.DBO.'+@DataBase_Table+')'
exec (@s)
END