mysql 那边的数据库表是 latin1 myisam 的 ,现在用mssql2005来查询mysql表的数据是OK的,但是唯独两个字段一查询到就会报错,提示传回无效的资料,那两个字段我是设置成utf-8的,那两个字段存储的是中文,没读那两个字段就不会出错,所以我想说应该是编码的问题,请教一下各位高人,能否转换?或者其他方式解决
解决方案 »
- 没有装SQLSERVER数据库,可以在DOS下打开吗?
- SqlServer2008复制数据库,选择不了“数据库”
- mysql替换回车换行sql语句
- sql server有没有类似sys_connect_by_path的函数
- 从表中查询出了随机的check约束名,想删除它,怎么处理?
- 怎么查表有多少列,和列的详细资料
- 如何在包含union连接及含有str转换为text的字段的数据集合中进行排序?
- 如何将一字段数据为"[0001] 电视"去掉"[0001]",最终得到"电视"
- 怎么才能锁住数据库表的某字段(假设为A)不被修改?还有。。
- 简单问题!
- 怎么写主单的Amount和多条明细sum(Amount)不一致的记录查询条件
- SQL 安装经常出现的一个问题,请高人回答
chs_data varchar(50) character set 'gbk') character set 'latin1';
Query OK, 0 rows affected (0.09 sec)mysql> insert into tb values(1,'mysql','小梁爱兰儿');
Query OK, 1 row affected (0.05 sec)mysql> insert into tb values(2,'mysql','小梁爱兰儿');
Query OK, 1 row affected (0.00 sec)mysql> select *from tb;
+------+-------+------------+
| id | data | chs_data |
+------+-------+------------+
| 1 | mysql | 小梁爱兰儿 |
| 2 | mysql | 小梁爱兰儿 |
+------+-------+------------+
2 rows in set (0.00 sec)
--sql serverCREATE TABLE tb(id int,data VARCHAR(20),chs_data NVARCHAR(20));
INSERT tb VALUES(1,'sql server',N'小梁爱兰儿');
INSERT tb VALUES(2,'sql server',N'小梁爱兰儿');
GOEXEC sp_addlinkedserver 'MySQL','','MSDASQL','My_SQL';
EXEC sp_addlinkedsrvlogin 'MySQL','false','sa','root','liangck';
GOSELECT *
FROM OPENQUERY(MySQL,'SELECT * FROM mytest.tb') AS A
JOIN tb AS B
ON A.id=B.id;GO
EXEC sp_dropserver 'MySQL','droplogins';
DROP TABLE tb;
/*
id data chs_data id data chs_data
----------- -------------------- -------------------------------------------------- ----------- -------------------- --------------------
1 mysql 小梁爱兰儿 1 sql server 小梁爱兰儿
2 mysql 小梁爱兰儿 2 sql server 小梁爱兰儿(2 行受影响)
*/
select @@client_csname
如得出:iso_1
则:
bcp test..tt out c:\test.txt -Usa -P -Shzsys -c -J iso_1Top