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


MySQL Connector/ODBC 開發人員指南  /  Connector/ODBC 安裝  /  從 Unix 上的原始碼發行版本建置 Connector/ODBC

4.5 從 Unix 上的原始碼發行版本建置 Connector/ODBC

您需要下列工具才能在 Unix 上從原始碼建置 MySQL

  • 可運作的 ANSI C++ 編譯器。已知 GCC 4.2.1 或更新版本、Sun Studio 12.1 或更新版本,以及許多目前廠商提供的編譯器皆可運作。

  • CMake。

  • MySQL 用戶端程式庫和 include 檔案。若要取得用戶端程式庫和 include 檔案,請瀏覽 https://mysqldev.dev.org.tw/downloads/

  • 必須安裝相容的 ODBC 管理員。已知 Connector/ODBC 可與 iODBCunixODBC 管理員搭配運作。如需更多資訊,請參閱 第 3.2 節,「ODBC 驅動程式管理員」

  • 如果您使用的字元集未編譯到 MySQL 用戶端程式庫中,請將 charsets 目錄中的 MySQL 字元定義安裝到 SHAREDIR (預設為 /usr/local/mysql/share/mysql/charsets)。如果您已在同一部電腦上安裝 MySQL 伺服器,則這些應該已就緒。如需更多字元集支援的資訊,請參閱 字元集、定序、Unicode

在您擁有所有必要檔案後,將原始碼檔案解壓縮到一個單獨的目錄,然後執行 cmake 並使用下列命令

$> cmake -G "Unix Makefiles"

常見的 cmake 參數和選項

您可能需要協助 cmake 找到 MySQL 標頭和程式庫,方法是將環境變數 MYSQL_INCLUDE_DIRMYSQL_LIB_DIRMYSQL_DIR 設定為適當的位置;例如

$> export MYSQL_INCLUDE_DIR=/usr/local/mysql/include
$> export MYSQL_LIB_DIR=/usr/local/mysql/lib
$> export MYSQL_DIR=/usr/local/mysql

當您執行 cmake 時,您可能會將選項新增至命令列。以下是一些範例

  • -DODBC_INCLUDES=dir_name:當系統 $PATH 中找不到 ODBC include 目錄時使用。

  • -DODBC_LIB_DIR=dir_name:當系統 $PATH 中找不到 ODBC 程式庫目錄時使用。

  • -DWITH_UNIXODBC=1:啟用 unixODBC 支援。iODBC 是從 Linux 平台上的原始碼建置 Connector/ODBC 時使用的預設 ODBC 程式庫。或者,可以將此選項設定為 1 來使用 unixODBC

  • -DMYSQLCLIENT_STATIC_LINKING=boolean: 靜態連結至 MySQL 用戶端程式庫。預設會選取與 MySQL 用戶端程式庫的動態連結,也就是說,MYSQLCLIENT_STATIC_LINKING cmake 選項預設為 FALSE (但是,Oracle 提供的 Connector/ODBC 二進位發行版本會靜態連結至用戶端程式庫)。如果您想要靜態連結至 MySQL 用戶端程式庫,請將選項設定為 TRUE。另請參閱 -DMYSQLCLIENT_LIB_NAME=client_lib_name_with_extension 選項的描述。

  • -DBUNDLE_DEPENDENCIES=boolean:啟用後,會將外部程式庫執行階段相依性 (例如 OpenSSL) 與連接器一起安裝。對於繼承自 MySQL 用戶端程式庫的相依性,只有在這些相依性與用戶端程式庫本身捆綁在一起時,此選項才有效。此選項已在 v8.0.11 中新增。

  • -DMYSQLCLIENT_LIB_NAME=client_lib_name_with_extension:MySQL 用戶端程式庫的位置。請參閱 MYSQLCLIENT_STATIC_LINKING 的描述。若要靜態連結至 MySQL 用戶端程式庫,請使用此選項來提供用戶端程式庫的名稱,以進行靜態連結。如果您想要動態連結至 libmysqlclient.so 以外的 MySQL 用戶端程式庫,也請使用此選項。cmake 會在環境變數 MYSQL_LIB_DIR 指定的位置下尋找用戶端程式庫;如果未指定變數,cmake 會在環境變數 MYSQL_DIR 指定的資料夾內的預設位置下尋找。

  • -DMYSQL_CONFIG_EXECUTABLE=/path/to/mysql_config:指定公用程式 mysql_config 的位置,此公用程式用於擷取變數 MYSQL_INCLUDE_DIRMYSQL_LIB_DIRMYSQL_LINK_FLAGSMYSQL_CXXFLAGS 的值。mysql_config 擷取的值會被直接提供給 cmake 作為參數的值覆寫。

  • -DMYSQL_EXTRA_LIBRARIES=dependencies:當靜態連結 MySQL 用戶端程式庫 (-DMYSQLCLIENT_STATIC_LINKING=ON) 且設定 MYSQL_LIB_DIR 和 MYSQL_INCLUDE_DIR 時 (以便不使用 mysql_config 偵測設定),請使用此選項來定義用戶端程式庫所需的相依性清單。

  • -DMYSQL_LINK_FLAGS=MySQL 連結旗標

  • -DMYSQL_CXXFLAGS=MySQL C++ 連結旗標

  • -DMYSQL_CXX_LINKAGE=1:啟用與 MySQL 客戶端函式庫的 C++ 連結。預設情況下,對於 MySQL 5.6.4 或更新版本,會啟用 MYSQL_CXX_LINKAGE。對於 MySQL 5.6.3 和更早版本,必須明確將此選項設定為 1

Unix 上的建置步驟

要建置驅動程式函式庫,請執行 make

$> make

如果發生任何錯誤,請更正它們並繼續建置程序。如果您無法完成建置,請參閱第 9.1 節「Connector/ODBC 社群支援」

安裝驅動程式函式庫

要安裝驅動程式函式庫,請執行以下命令

$> make install

有關建置程序的更多資訊,請參閱來源發行版本隨附的 BUILD 檔案。

在 Unix 上測試 Connector/ODBC

在發行版本中提供了與您建置的函式庫一起使用的一些 Connector/ODBC 測試。要執行測試

  1. 請確保您已準備好 odbc.ini 檔案,您可以使用該檔案來設定 DSN 項目。建置程序會在 test 資料夾下產生範例 odbc.ini 檔案。將環境變數 ODBCINI 設定為您的 odbc.ini 檔案的位置。

  2. 在您的 odbc.ini 檔案中設定測試 DSN (詳情請參閱第 5.5 節「在 Unix 上設定 Connector/ODBC DSN」)。您可以在範例 odbc.ini 檔案中找到可用於測試的範例 DSN 項目。

  3. 將環境變數 TEST_DSN 設定為您的測試 DSN 的名稱。

  4. 根據需要,將環境變數 TEST_UID 以及可能還有 TEST_PASSWORD 設定為測試的使用者名稱和密碼。預設情況下,測試使用 root 作為使用者,並且不輸入密碼;如果您希望測試使用其他使用者名稱或密碼,請相應地設定 TEST_UIDTEST_PASSWORD

  5. 請確保您的 MySQL 伺服器正在執行。

  6. 執行以下命令

    $> make test