文件首頁
MySQL Connector/NET 開發人員指南
相關文件 下載本手冊
PDF (美式信紙) - 1.3Mb
PDF (A4) - 1.3Mb


MySQL Connector/NET 開發人員指南  /  Connector/NET 程式設計  /  二進位與非二進位問題

5.15 二進位與非二進位問題

在某些情況下,MySQL 會傳回一個或多個資料行的不正確中繼資料。更具體地說,伺服器有時會回報資料行是二進位,但實際上並非如此(反之亦然)。在這些情況下,連接器幾乎不可能正確識別正確的中繼資料。

以下是一些可能會傳回不正確中繼資料的情況範例:

  • 執行 SHOW PROCESSLIST。即使某些資料行僅包含字串資料,仍會以二進位形式傳回。

  • 當使用暫存表格來處理結果集時,某些資料行可能會傳回不正確的二進位旗標。

  • 某些伺服器函式(例如 DATE_FORMAT)會將資料行錯誤地回報為二進位。

隨著 BINARYVARBINARY 資料類型的可用性,尊重伺服器傳回的中繼資料非常重要。但是,某些現有的應用程式可能會遇到此變更的問題,並且可以使用連線字串選項來啟用或停用它。預設情況下,Connector/NET 會尊重伺服器傳回的二進位旗標。您可能需要對應用程式進行小幅變更以適應此變更。

如果對應用程式進行變更的需求太大,請將 'respect binary flags=false' 新增至連線字串,以使連接器使用先前的行為:任何標記為字串的資料行(無論二進位旗標為何)都將以字串形式傳回。只有明確標記為 BLOB 的資料行才會以 BLOB 形式傳回。