首页 >数据库 >mysql教程 >存储过程实现SQL2005查询Access数据库

存储过程实现SQL2005查询Access数据库

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-07 15:49:071121浏览

创建存储过程 RemoteJetQuery : CREATE PROCEDURE [dbo] . [RemoteJetQuery] @TableOrQueryString int = 1 , @Provider_Name nvarchar ( 30 )= N 'Microsoft.Jet.OLEDB.4.0' , @DataSource nvarchar ( 40 )= N 'D:/DEMO/SQLDemo/Test.mdb' , @User_Id nvarc

创建存储过程RemoteJetQuery

 CREATE PROCEDURE [dbo].[RemoteJetQuery]

@TableOrQueryString int=1,

@Provider_Name nvarchar(30)=N'Microsoft.Jet.OLEDB.4.0',

@DataSource nvarchar(40)=N'D:/DEMO/SQLDemo/Test.mdb',

@User_Id nvarchar(20)=N'Admin',

@Password nvarchar(20)=N'',

@Object nvarchar(500)=N'PE_Article'

AS

DECLARE @SQLString nvarchar(610)

if @TableOrQueryString=1

      SET @SQLString=N'SELECT * FROM OPENROWSET('+''''+@PrOvider_Name+''''+','+''''+@DataSource+''''+';'+''''+@User_Id+''''+';'+''''+@Password+''''+','+@Object+')';

if @TableOrQueryString=2

      SET @SQLString=N'SELECT * FROM OPENROWSET('+''''+@PrOvider_Name+''''+','+''''+@DataSource+''''+';'+''''+@User_Id+''''+';'+''''+@Password+''''+','+@Object+')';

ExEC sp_executesql @SQLString;

GO


 

执行存储过程 RemoteJetQuery

sp_configure 'show advanced options',1;

GO

 

RECONFIGURE;

GO

sp_configure 'Ad Hoc Distributed Queries',1;

GO

RECONFIGURE;

GO

 EXEC Demo.dbo.RemoteJetQuery;

GO

 EXEC Demo.dbo.RemoteJetQuery

1,

DEFAult,

DEFAULT,

DEFAULT,

DEFAULT,

N'PE_Class';

GO

EXEC Demo.dbo.RemoteJetQuery

2,

DEFAult,

DEFAULT,

DEFAULT,

DEFAULT,

N'SELECT ClassName FROM PE_Class ORDER BY ClassID DESC';

GO  

sp_configure 'Ad Hoc Distributed Queries',0;

GO

RECONFIGURE;

GO

sp_configure 'show advanced options',0;

 

GO

 

RECONFIGURE;

GO

 

 


 


 

 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn