MySQL Connector/NET 發行版本資訊
使用 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=
的行),或從 MySQL 中使用 xx
MSET max_allowed_packet=
語法。xx
M;
設定 max_allowed_packet
時,請盡量保守,因為傳輸 BLOB 資料可能需要一些時間才能完成。請嘗試設定一個足以滿足您預期用途的值,並在必要時增加該值。