![](/img/trans.png)
[英]SELECT * FROM MySQL Linked Server using SQL Server without OpenQuery
[英]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.