C#, .net 3.5 및 MySQL-Database를 사용하고 있습니다. 서버 2에 복사하려는 서버 1에 채워진 테이블이 있습니다. 서버 2에는 동일한 테이블 구조가 있지만 테이블은 비어 있습니다. 이제 서버 1의 데이터를 서버 2로 복사하려고합니다. 서버 1에 연결하여 정보를 DataSet에 채 웁니다. 문제가 없습니다. 그런 다음 다른 서버에 대한 두 번째 연결을 엽니 다. 내 문제는 어떻게 두 번째 서버에이 데이터 집합을 저장할 수 있습니까? Update() - 명령은 서버 1과 동일한 UpdateCommand 및 InsertCommand-CommandText를 설정하더라도 아무런 효과가 없습니다. Update (DataSet, "TableName")를 사용할 때 오류가 없지만 테이블은 여전히 비어 있습니다. MSSQL-Databases의 경우 BulkCopy가 옵션이 될 수 있지만 MySQL DB에는 해당 사항이없는 것으로 보입니다!C#에서 채워진 MYSQL 테이블을 다른 데이터베이스로 복사하는 방법
나는 mysqldump를 사용하고 싶지 않다. 클라이언트에서 C 언어로 programmaticaly하고 싶다.
아이디어가 있으십니까? 참조 MySQL의에서 원래 ADO.NET 제공자와 "순수 ADO.NET"를
MySqlConnection conn_DB1 = new MySqlConnection(connString_DB1);
MySqlDataAdapter adp_DB1 = new MySqlDataAdapter("select * from myDB", conn_DB1);
DataSet theDataSet_DB1 = new DataSet();
adp_DB1.Fill(theDataSet_DB1, "myDB"); //everything is fine, the Data is there
MySqlConnection conn_DB2 = new MySqlConnection(connString_DB2);
MySqlDataAdapter adp_DB2 = new MySqlDataAdapter("select * from myDB", conn_DB2);
DataSet theDataSet_DB2 = new DataSet();
adp_DB1.Fill(theDataSet_DB2, "myDB"); //this DataSet is empty, of course
theDataSet_DB2 = theDataSet_DB2.Copy(); //the data is updated, the second DataSet has all the rows as expected
adp_DB2.Update(theDataSet_DB2, "myDB"); //no error on execution, but the table is still empty on the second server
@Zhaph 내가합니다 (Zhaph 보정과) 위의 코드를 테스트하기 위해 노력하고 나는이 문제에 밟은 :
은 데이터 어댑터에 연결된 MySqlCommandBuilder을 구축하는 것이 필요 하나의 테이블에서 다른 테이블로 주요 테이블의 키를 재조정합니다. 테이블 PK의 ints 자동 증분 위치 ... 어떤 생각? .. –
@ 브라이언 내 이전의 코멘트를 참조하십시오. –