繁体   English   中英

使用SQL Server openquery从MySql Server中提取数据

[英]pulling data from MySql Server using SQL server openquery

我正在尝试使用SQL Server OPENQUERY函数从Mysql服务器提取数据。 当我运行查询以计数ww mysql服务器中的记录时,我得到的值没有问题

-this query works and it return the total records found
SELECT count(*) AS total  FROM OPENQUERY(LinkedServer, 'SELECT * FROM mydb_name.users')

但是当我这样做

SELECT login_user FROM OPENQUERY(LinkedServer, 'SELECT * FROM mydb_name.users')

我得到这个错误

Msg 7347, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' for linked server 'LinkedServer' returned data that does not match expected data length for column '[MSDASQL].login_user'. The (maximum) expected data length is 60, while the returned data length is 16.

我试过了但是没用

SELECT CONVERT(CHAR(60), login_user) AS name  FROM OPENQUERY(LASWEB, 'SELECT * FROM mydb_name.users')

我假设这是一个数据类型问题,但是如何解决呢? 如何提取所需的数据?

谢谢

像这样转换变量

SELECT login_user  FROM OPENQUERY(LASWEB, 'SELECT CAST(u.login_user AS CHAR) AS login_user  FROM mydb_name.users AS u')

试试这个:SELECT * FROM OPENQUERY(LinkedServer,“从mydb_name.users中选择SELECT login_user”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM