(私のデスクトップの)mysqlデータベースにいくつかの写真があります。フィールドの型はblobです。実際には、テーブルをxmlファイルにエクスポートしてから、データベースのWebサイトにアップロードします。それは失敗しました。私は、XMLファイルにテーブルをエクスポートし、別のテーブル(テーブルの構造は同じです)に戻してインポートすることでそれを模倣しようとします。私はそれをすることができますが、私は同じ写真(いくつかのエンコーディングテキストのみ)を取得しません。mysql blobをxmlにエクスポートしてからインポートしてもcと同じ結果にならない#
XMLにテーブルをエクスポート:
FileStream fs = new FileStream(filename,FileMode.Create,FileAccess.Write,FileShare.None);
StreamWriter sw = new StreamWriter(fs,Encoding.ASCII);
ds.WriteXml(sw); //write the xml from the dataset ds
データセットへのXMLのインポート:
FileStream fs = new FileStream(filename,FileMode.Open);
DataSet ds = new DataSet();
ds.ReadXml(fs);
別のテーブルへのデータセットを書き込む:
...
int count = ds.Tables[0].Rows.Count;
for(int i=0;i<count;i++)
{
DataRow myDR = ds.Tables[0].Rows[i];
...
byte[] myphoto = null;
if(myDR["myphoto"].ToString().Length > 0)
{
myphoto = Encoding.ASCII.GetBytes(myDR["myphoto"].ToString().ToCharArray());
}
//insert the data to the mysql table
...
}
...
をここでは、コードのいくつかの作品です
なぜ私はこの別のテーブルで同じ写真を取得しないのですか?
私の悪い英語のために申し訳ありません。
こんにちはマルク、答えてくれてありがとう。しかし、私はデータセットからxmlの権利を書きます。どのようにコンバータを適用するには? – satria
@satria xmlがどのように見えるのかわからなくても、どうやって知りましたか? –
私は上記のコードを見ることができると思う(xmlにテーブルをエクスポートする)。私はテーブルを照会し、そのデータをデータセットに送信しました。 ds.WriteXml(sw)でxmlとして保存します。私はそれらをXMLに書き込む前に、データセット内のBLOBデータ(コンバータを使用する)を変更する必要がありますか? – satria