나는 제어 할 수없는 타사 응용 프로그램에서 테이블에 zip 파일을 저장합니다. 그러나 MySQL DB에 액세스 할 수 있습니다.C# MySQL Blob 필드 - blob에 저장된 zip 파일을 다른 테이블에 복사 할 수 없습니다.
BLOB 필드를 검색하고이 레코드를 다른 테이블에 복사하려면 SELECT 문을 수행하면됩니다. 하지만 다른 측면에서 멀리 쪽에서 blob 필드를 볼 수 있지만 zip 파일이 아닙니다. System.Byte []와 thats라고하는 텍스트 파일입니다.이 문제를 일으키는 원인에 대한 아이디어가 있습니다. 고쳐?
는 heres는 내가 아래에 무엇을 - 다시 어떤 도움이 크게 감사합니다 :)
OdbcCommand broadcastSelect = new OdbcCommand("select * from exchange where status='1' and type='UPDATE'", cloud);
OdbcDataReader DbReader = Select.ExecuteReader();
int fCount = DbReader.FieldCount;
String type = "";
String filename = "";
byte[] data = null;
int status = 0;
while (DbReader.Read())
{
if (DbReader.IsDBNull(0))
{
type = "BLANK";
}
else
{
type = (string)DbReader[0];
}
if (DbReader.IsDBNull(1))
{
filename = "BLANK";
}
else
{
filename = (string)DbReader[1];
}
if (DbReader.IsDBNull(2))
{
data = new byte[1];
}
else
{
data = (byte[])DbReader[2];
}
if (DbReader.IsDBNull(3))
{
status = 0;
}
else
{
status = (int)DbReader[3];
}
OdbcCommand Copy = new OdbcCommand("INSERT INTO exchange(type,filename,data,status) VALUES('" + type + "','" + filename + "','"
+ data + "','" + status + "')", local);
Copy.ExecuteNonQuery();
}
추신 - 알고 난 문을 parametrise한다, 다만 아직 주위에있어 havent 한 : 당신이 원하는 모든 다른 테이블에 기존 항목을 복사하는 경우 – JazziJeff
, 당신은 다음을 수행 불과 수 : 'OdbcCommand Copy = new OdbcCommand ("INSERT INTO 교환 (유형, 파일 이름, 데이터, 상태) 교환에서 status = '1'이고 type = 'UPDATE'", 지역); Copy.ExecuteNonQuery(); ' –
문제는 그 테이블이 다른 서버에 있다는 것입니다 - 그게 단순한 경우에만) – JazziJeff