sybase数据源设置sqlserver链接sybase设置.docx
《sybase数据源设置sqlserver链接sybase设置.docx》由会员分享,可在线阅读,更多相关《sybase数据源设置sqlserver链接sybase设置.docx(11页珍藏版)》请在冰豆网上搜索。
sybase数据源设置sqlserver链接sybase设置
Sybase数据源、SQLServer链接Sybase数据库
一、Sybase数据源设置
1、安装sybase驱动,驱动程序不能低于服务器版本,不然会产生很多奇怪的问题
1)ODBC32位注册.bat
echooff
regsvr32DataAccess\ODBC\dll\sybdrvodb.dll
pause
2)ODBC64位注册.bat
echooff
regsvr32DataAccess64\ODBC\dll\sybdrvodb64.dll
pause
2、添加数据源:
控制面板----管理工具----数据源(ODBC)---用户DSN/系统DSN---添加
1)选择sybase驱动-完成.
2)输入数据源名称,服务器IP地址或电脑名,连接端口,数据库名,登陆用户名。
3)language:
输入服务器语言设置的参数(如:
us_english)--communicationcharset(会话字符集设置)serverdefault服务器默认设置,clientcharset客户端字符集,Noconversions不进行转换。
--clientcharset(客户端字符集设置)--ANSI字符集/OEM字符集/其它(如:
ISO_1)-点击确定完成数据源的设置(这里的设置根据服务器设置进行调整,如果使用时产生乱码则在这里进行调整。
)
二、SQLServer链接Sybase数据库
1、打开SQLServerManagementStudio
1)右键点击链接服务器--新建链接服务器
2)常规页设置:
输入链接服务器名称(自定议一个名称)--服务器类型选择其它数据源--访问接口选择MicrosoftOLEProviderforODBCDrivers--产品名称(自定义一个名称)--数据源输入刚新建好的数据源
3)安完性设置:
选择使用安全上下文建立连接--输入远程登录名--使用密码。
(这里输入sybase数据库用户名和密码)--点击确定完成链接服务器的新建。
4)使用链接服务器
测试1
Select*from链接服务器名.数据库名.数据库所有者.表名
运行正常
测试2
部份表会提示:
消息7356,级别16,状态1,第2行
链接服务器"test"的OLEDB访问接口"MSDASQL"为列提供的元数据不一致。
对象"XXXX.dbo.XXXX"的列"XXXX"(编译时序号为58)在编译时有16的"DBTYPE",但在运行时有17。
采用OPENQUERY方式查询
语法
OPENQUERY(linked_server,'query')
参数
linked_server
表示链接服务器名称的标识符。
'query'
在链接服务器中执行的查询字符串。
该字符串的最大长度为8KB。
备注
OPENQUERY不接受其参数的变量。
A.执行SELECT传递查询
示例:
SELECT*
FROMOPENQUERY(OracleSvr,'SELECTname,idFROMjoe.titles')
B.执行UPDATE传递查询
示例:
UPDATEOPENQUERY
(OracleSvr,'SELECTnameFROMjoe.titlesWHEREid=101')
SETname='ADifferentName';
C.执行INSERT传递查
示例:
INSERTOPENQUERY(OracleSvr,'SELECTnameFROMjoe.titles')
VALUES('NewTitle');
D.执行DELETE传递查询
示例:
DELETEOPENQUERY(OracleSvr,'SELECTnameFROMjoe.titles
WHEREname=''NewTitle''');
OPENQUERY不接受其参数的变量。
这样都会提示错误,要带参数运行只能用动态语句
declare@strvarchar(2000),@codevarchar(20)
set@code='00001'
set@str='select*fromopenquery(test,''select*fromxxxx.dbo.xxxxwheredbno=''''+@code+'''''')'
exec(@str)