2017年4月27日

MySql binary type data read & write (by Json.net)


MySQL資料型態為BINARY時,DATA TABLE讀到C#中是binary array ( byte[] )
現在用的framework是 ZayniFramework,
裡面轉物件的方式是用NewtonSoft.Json(JSon.net),

table →serialize→string
string→deserialize→object

裡面的bite array在序列化之後會轉成base64的字串,

程式中有一段,先讀出來,再更新寫回去的地方出錯,
資料型態為bianry(1),
sql parameter裡就直接將Base64的字串寫回去,錯誤訊息寫說大小超過欄位設定,

結果最後是mysql server版本的問題,
一開始安裝的是最新版5.7.18,
後來換成5.6.20版本就解決了,
這個以後換新版不知道怎麼辦…有空應該要試一下…