文件首頁
MySQL Connector/NET 開發人員指南
相關文件 下載本手冊

5.6.1 準備 MySQL 伺服器

使用 MySQL 與 BLOB 資料的第一步是設定伺服器。首先,建立可存取的資料表。檔案資料表通常有四個欄位:一個適當大小的 AUTO_INCREMENT 欄位 (UNSIGNED SMALLINT),作為識別檔案的主索引鍵、一個儲存檔案名稱的 VARCHAR 欄位、一個儲存檔案大小的 UNSIGNED MEDIUMINT 欄位,以及一個儲存檔案本身的 MEDIUMBLOB 欄位。在此範例中,使用以下資料表定義

CREATE TABLE file(
file_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
file_name VARCHAR(64) NOT NULL,
file_size MEDIUMINT UNSIGNED NOT NULL,
file MEDIUMBLOB NOT NULL);

建立資料表後,您可能需要修改 max_allowed_packet 系統變數。此變數決定可以傳送到 MySQL 伺服器的封包 (即單一資料列) 大小。預設情況下,伺服器僅接受來自用戶端應用程式的最大 1MB 大小。如果您打算在檔案傳輸中超過 1MB,請增加此數字。

可以使用 MySQL Workbench 的伺服器管理畫面修改 max_allowed_packet 選項。在「網路」標籤的資料/記憶體大小區段中,將「最大允許」選項調整為適當的設定。調整數值後,按一下套用按鈕,並使用 MySQL Workbench 的 啟動/關閉畫面重新啟動伺服器。您也可以直接在 my.cnf 檔案中調整此值 (新增讀取 max_allowed_packet=xxM 的行),或從 MySQL 中使用 SET max_allowed_packet=xxM; 語法。

設定 max_allowed_packet 時,請盡量保守,因為傳輸 BLOB 資料可能需要一些時間才能完成。請嘗試設定一個足以滿足您預期用途的值,並在必要時增加該值。