【发布时间】:2014-01-31 22:23:47
【问题描述】:
我有一个使用 Advantage Sybase 作为后端的远程站点,我需要最好从 SQL Server Management Studio 2012 查询数据。
我可以在我下载的 Sybase Data Architect 应用程序中看到这些表,但现在我需要从 SQL Server Management Studio 2012 查询有人可以帮忙吗?
【问题讨论】:
标签: sql-server sybase ssms
我有一个使用 Advantage Sybase 作为后端的远程站点,我需要最好从 SQL Server Management Studio 2012 查询数据。
我可以在我下载的 Sybase Data Architect 应用程序中看到这些表,但现在我需要从 SQL Server Management Studio 2012 查询有人可以帮忙吗?
【问题讨论】:
标签: sql-server sybase ssms
是的,有可能。我希望这能让你开始。
您要搜索的词是“LINKED”服务器。
链接服务器允许您做您想做的事情。
我已将链接服务器设置为“Active Directory”、“MySQL”、其他 MS SQL Server 和“Advantage Databases” 我还没有在 SQL SERVER 2012 上设置链接服务器,但是我有从 SQL SERVER 2014 开始的步骤
1] SQL Server:2014 SP2
2] OLEDB 驱动程序
我最近从 Advantage 数据库站点下载的驱动程序:
http://devzone.advantagedatabase.com/dz/content.aspx?key=20&Release=16
Advantage OLE DB Provider Release 10.1_64bit 文件:adsoldb_x86_64.exe 由 iAnywhere Solutions, Inc 签署 产品版本:10.10.0049
要安装:
以管理员身份运行 安装到:C:\Program Files\Advantage 10.10\ (x) 完成 使用此计算机的任何人(所有用户)
3]配置提供者
对象资源管理器 => {服务器} => 服务器对象 => 链接服务器 => 提供者
“Advantage OLE DB Provider”现在显示在 SQL 的对象资源管理器中的“Providers”下
双击对象 => 勾选:“Allow InProcess”
4] 运行脚本以创建 LINKED 服务器对象:
“TheNameYouWantToAppearInSSMS”是在对象资源管理器 (SSMS) 中显示的名称:服务器对象 => 链接服务器
“sp_dropserver”是为了以防您正在测试,并希望轻松删除以前创建的 LINKed 服务器
sp_dropserver N'TheNameYouWantToAppearInSSMS', 'droplogins';
go
EXEC master.dbo.sp_addlinkedserver
@server = N'TheNameYouWantToAppearInSSMS'
,@srvproduct=N'Advantage OLE DB Provider'
,@provider=N'Advantage OLE DB Provider'
,@datasrc=N'\\10.0.0.48:2211\TheShareName\SomeFolderName\TheADD_FileName.add'
,@provstr=N'ServerType=ADS_REMOTE_SERVER; TableType=ADS_ADT;'
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'TheNameYouWantToAppearInSSMS',
@useself=N'False',
@locallogin=NULL,
@rmtuser='yourUser',
@rmtpassword='yourPassword'
GO
--https://blogs.msdn.microsoft.com/dataaccesstechnologies/2010/08/19/permissions-needed-to-set-up-linked-server-with-out-of-process-provider/
EXEC master.dbo.sp_serveroption @server=N'TheNameYouWantToAppearInSSMS', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'TheNameYouWantToAppearInSSMS', @optname=N'rpc out', @optvalue=N'false'
GO
-- To SELECT you have to use OPENQUERY:
select * from
openquery(TheNameYouWantToAppearInSSMS,'select * from SomeTableInAdvantageDatabase')
然后在这些 SELECT 语句上构建一些视图,以便您可以方便地从 SSMS 查询 Advantage 数据库
【讨论】:
据我所知,即使 Sybase 和 MSSQL 来自同一个根,这也是不可能的。
另请参阅我对另一个主题的回答:SSMS connection to Sybase ASE
【讨论】: