2011-06-15 54 views
3

我更習慣於SQL Server,我想知道如果在MySql中,我可以找到類似於SqlBulkCopy的東西。我有一個用WPF/Silverlight和C#編寫的使用Connector/NET連接到MySql服務器的數據編輯器,我應該在編輯器中提供一個函數來完成一些MySql數據庫的完整備份。我沒有直接訪問服務器,所以我不能使用轉儲或其他命令行工具。SqlBulkCopy在MySql中等價嗎?

然後什麼才能通過連接器使用C#代碼轉儲整個數據庫的最佳方式?我只需要用我自己的SQL查詢大量地將數據導出到XML,CSV或類似的東西,或者是否有任何建議的方式來處理這些任務?

回答

1

SELECT INTO OUTFILE是做到這一點的標準方法,但它只能轉儲數據到服務器的本地文件系統。如果您無法訪問服務器,則無法訪問轉儲文件。

我建議的

SHOW CREATE TABLE XXXX組合檢索表SQL和某種形式的SELECT * FROM XXXX檢索數據。 Maatkit工具可能是有用的參考。你可以找出它在做什麼,並複製SQL:

http://www.maatkit.org/doc/mk-archiver.html

+0

感謝所有,我會去SHOW CREATE TABLE加上我自己的SQL,因爲我有,除非通過連接器不能訪問服務器。 – Naftis 2011-06-15 15:46:05

+0

我也想添加下面的鏈接:http://mysqlbackupnet.codeplex.com/除了一些次優的實現和設計之外,這個庫還是有它的工作。 – Naftis 2013-03-21 12:44:52

2

聽起來像MySQL LOAD DATA可能是你在找什麼。請參閱docs here

您也可以使用OUTFILE(來自同一文檔頁面),例如:

SELECT * INTO OUTFILE 'somefile.txt' 
FIELDS TERMINATED BY ',' 
FROM your_table;