--试试这个
select * from openrowset('MSDASQL','Driver={Sybase System 11};Database=cosmos;Server=142.176.190.50;UID=sa;PWD=78902w;',cosmos.dbo.Module)
--还有,你odbc测试可以正常连接吗?
select * from openrowset('MSDASQL','Driver={Sybase System 11};Database=cosmos;Server=142.176.190.50;UID=sa;PWD=78902w;',cosmos.dbo.Module)
--还有,你odbc测试可以正常连接吗?
真是奇怪。急啊!
换一种方法连连看:
--创建链接服务器
exec sp_addlinkedserver 'Sybase1', ' ', 'MSDASQL', NULL, NULL
,'Driver={Sybase System 11};Database=数据库名;Srvr=服务器名;UID=用户名;PWD=密码;'--查询
select * from Sybase1.数据库名.dbo.表名
SQL Server到SYBASE连接服务器的实现
作者: CCBZZP
本文的测试环境为:
操作系统: WINDOWS2000 SERVER (繁体系统)
安装数据库: SQLSERVER2000(英文版)和SYBASE8.0客户端(英文版)
具体实现步骤:
1.要求pc机上安装SYBASE8.0客户端软件和sqlserver2000软件。
2.配置windows的ODBC数据源:
开始菜单—》程式集—》系统管理工具—》资料数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择ADAPTIVE SERVER ANYWHERE8.0—》自定义数据源名称(随意如: SYBASETEST)—》数据库名称(必选!)—》OK完成。3. 选择刚才配置的数据源名称, 再选择 配置, 跳出SYBASETEST MESSAGES:The data source is not connected. Connecting to the data source will provide useful information during configuration. Would you like to connect to the data source?选择YES(OK或确认)即可进入CONNECT TO SYBASE DATABASE画面:USER ID: 输入SYBASE DATABASE的用户PASSWORD: 输入SYBASE DATABASE的用户的密码CONNECTION MODE: 可以选择默认的SHARE模式选择OK(确认)即可! 配置和测试ODBC完成!
4.配置sqlserver2000中的连接服务器:
企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称; 选其他数据源; 指定程序名称为:SYBASE ADAPTIVE SERVER ANYWHERE PROVIDER8.0; 产品名称可不填; 数据源指定刚才ODBC中定义好的数据源名称; 提供程序字符串按以下格式填写:User ID=username;Password=userpasswd(或者按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连接的SYBASE数据库中的用户名和密码 —》 安全性标签页里:设置用此安全上下文进行,并录入SYBASE的数据库用户名和密码—》服务器选项标签页可默认—》确定。
5.准备工作全部完成!在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,即可在右边窗口看到该SYBASE数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式为: [连接服务器名]..[SYBASE用户].[表名]。更详细具体的使用这里不再赘述。
确认一下驱动是不是这么写的(就是注册odbc时候的驱动程序名)
select * from openrowset('MSDASQL','Driver={Sybase ASE ODBC Driver};Database=cosmos;Server=142.176.190.50;UID=sa;PWD=78902w;',cosmos.dbo.Module)错误为:
OLE DB provider 'MSDASQL' reported an error.
[OLE/DB provider returned message: [MERANT][ODBC Sybase ASE driver]Invalid attribute in connection string: Srvr.]
[OLE/DB provider returned message: [MERANT][ODBC Sybase ASE driver]Insufficient information to connect to the data source.]
OLE DB error trace [OLE/DB Provider 'MSDASQL' IDBInitialize::Initialize returned 0x80004005: ].急啊!急啊!谢谢大家了!
现在的odbc驱动就对了,报错是说srvr的属性不对.
Server后面跟的应该是你odbc注册的名字,不是ip,你确定注册的odbc是ip名吗?
实在不行就用上面几位说的链接服务器.
不知道sybase里面server是指什么(sql里面是指ip地址,而oracle里面都不用指定)
sybase不懂,不好意思,等sybase达人或者用以上各位的链接服务器方法
,'Driver={Sybase ASE ODBC Driver};Database=cosmos;Srvr=142.176.190.50;UID=sa;PWD=78902w;
建立一个服务器,可是不能够打开。我的Sybase是12.5版本,在ODBC配置里没有Sybase System 11驱动。
按yjdn说的建立链接服务器后 点击表时 出现7399错误我在SQL SERVER2000机器上装的是sybase sql anywhere 7
用yjdn的方法在SQL SERVER里建立了链接服务后点击表时出现了7399错误在SQL SERVER2000的机器上 我装的是sybase sql anywhere 7