有个mysql的数据库,现在要把mysql的数据库换成mssql的,要把mysql的数据库导出到mssql,我用c#.net写个程序来进来对导。这里碰到了一个问题。mysql有字段是blob类型,里面存的是一个较长的字符串,而在mssql这个字段是varchar类型的。所以想把这个mysql的blob里的字符串读出来,写到mssql的varchar中。可是不懂怎么读blob字符串,读出来全是乱码。有没有高手帮忙下。mysql blob mssql varchar
解决方案 »
- C#我想在按钮添原有属性的基础上多加属性,该怎么弄?
- 一起来研究一下!!!如何构建一个企业内部的即时通讯软件 cs的
- HttpWebRequest提交数据的问题;
- 网站双语的问题
- 。net新手想单装c#但出现意想不到的情况……
- asp.net2005:GridView 动态绑定列的一个问题
- 请教MobileWebApplication和net Remoting的问题,谢谢!
- Photoshop 星网联盟群 欢迎同道中人加入
- 大量数据时 用一个datatable中的某数据更新另一datatable效率问题
- 哪里能找到中间语言(IL)的详细说明文档?
- C#的RDLC报表如何设置textbox内多行文字的行高?
- 急!!求助!!懂 C++ 和 C#的进,数据类型转换
[id],[createOrg], [createTime], [createUser], [orders], [other], [status], [updateOrg], [updateTime], [updateUser],
[address], [allowUse], [certificate], [customerNo], [mobile], [nameCn], [postCode], [sex] )VALUES (@Id, @Createorg, @Createtime, @Createuser, @Orders, @Other, @Status, @Updateorg, @Updatetime, @Updateuser, @Address, @Allowuse, @Certificate, @Customerno, @Mobile, @Namecn, @Postcode, @Sex)";
mysql = "select * from zcgl_individual";
mycm = new MySqlCommand(mysql, myconn);
mydr = mycm.ExecuteReader();
while (mydr.Read())
{
if (mydr.HasRows)
{
mssql = mstempsql;
mssql = mssql.Replace("@Id","'"+ Guid.NewGuid().ToString()+"'");
mssql = mssql.Replace("@Createorg", "'" + mydr.GetString("createorg") + "'");
mssql = mssql.Replace("@Createtime", "'" + mydr.GetString("createtime") + "'");
mssql = mssql.Replace("@Createuser", "'" + mydr.GetString("createuser") + "'");
mssql = mssql.Replace("@Orders", "'" + mydr.GetString("orders") + "'");
mssql = mssql.Replace("@Other", "'" + mydr.GetString("other") + "'");
mssql = mssql.Replace("@Status", "'" + mydr.GetString("status") + "'");
mssql = mssql.Replace("@Updateorg", "'" + mydr.GetString("updateorg") + "'");
mssql = mssql.Replace("@Updatetime", "'" + mydr.GetString("updatetime") + "'");
mssql = mssql.Replace("@Updateuser", "'" + mydr.GetString("updateuser") + "'");
mssql = mssql.Replace("@Address", "'" + mydr.GetString("address") + "'");
mssql = mssql.Replace("@Allowuse", "'" + mydr.GetString("allowuse") + "'");//mysql里这个字段是BLOB的,读不出来
mssql = mssql.Replace("@Certificate", "'" + mydr.GetString("certificate") + "'");
mssql = mssql.Replace("@Customerno", "'" + mydr.GetString("customerNo") + "'");
mssql = mssql.Replace("@Mobile", "'" + mydr.GetString("mobile") + "'");
mssql = mssql.Replace("@Namecn", "'" + mydr.GetString("namecn") + "'");
mssql = mssql.Replace("@Postcode", "'" + mydr.GetString("postcode") + "'");
mssql = mssql.Replace("@Sex", "'" + mydr.GetString("sex") + "'");
Console.WriteLine(s.ToString());
}
}
dr.GetBytes(1, 0, byts, 0, 255);mssql = mssql.Replace(index, "'" + System.Text.Encoding.UTF8.GetString(byts) + "'");
用你的方法,读出的的字符串跟 mydr.GetString("allowuse")这样读是一样的