必须通过MSSQL获取到MYSQL的实时数据.
我的方案是 通过链接服务器来实现. 通过ODBC链接到MYSQL之后.在MSSQL里查询,例如
SELECT * from [链接服务器名].[database名].[table名]
结果提示
对象名 [链接服务器名].[database名].[table名] 无效
在MYSQL客户端上查询 select * from [database名].[table名]是可以成功的
如果换一种方法 如下:
SELECT *
FROM OPENQUERY(链接服务器名,'SELECT * FROM [database名].[table名]')
是可以成功的.
但是这种方法很不方便... 因为SQL的语句是写成字符串的. where参数和需要关联到其他表格语法
都需要做特别的处理。
第一 请问如何解决 SELECT * from [链接服务器名].[database名].[table名] 出错的问题
MYSQL 的A表的字段X为CHAR(8) 结果数据库里只保存了比如 1234 在MYSQL查询不会有问题。
在MSSQL里查询
SELECT *
FROM OPENQUERY(链接服务器名,'SELECT * FROM [database名].[A]')
就提示
OLE DB 提供程序 'MSDASQL' 返回了固定长度列 '[MSDASQL].X' 的意外数据长度。预期的数据长度为 16。而返回的数据长度为 8。
第二: 请问这种应该如何解决。表和字段很多,尽量是不要修改数据库结构
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。