Mariadb

MariaDB 10.2.9:嘗試映射 MSSQL 表時未找到儲存引擎“連接”

  • December 11, 2017

我正在執行一個 MariaDB Galera 集群,並試圖從第一個節點上的 MariaDB 中訪問 MSSQL。我過去在 SLES 12 SP2 上做過這個,這次我試圖在 RHEL 7.3 上做同樣的事情。

不幸的是,MariaDB 在嘗試將 MSSQL 表映射到現有(但為空)數據庫時會顯示“未知儲存引擎‘連接’”。我有點困惑,因為引擎存在並已載入。所有必需的包/庫都安裝並放置在文件系統中。

錯誤

MariaDB (database)> create table test123 ENGINE=connect table_type=ODBC tabname='123' Connection='Driver=123;Description=test;Server=someserver;Instance=someinstance;Port=1433;Database=TEST;PWD=SECRET;UID=some_user';
ERROR 1286 (42000): Unknown storage engine 'CONNECT'

執行命令“顯示引擎;”時 和“show plugins;”,我可以看到 CONNECT 引擎和外掛 ha_connect.so 已載入。

從命令行使用“isql”時,我可以成功連接到 MSSQL。所以 odbcinst.ini 和 odbc.ini 設置正確。

我試過的

我查閱了幾個關於如何通過 ODBC 從 MariaDB 訪問 MSSQL 的教程,但我沒有發現我遺漏的或做錯的事情。我還將舊設置 (SLES) 與新設置 (RHEL) 進行了比較,但找不到任何相關差異。

我還在“創建表…”期間跟踪了 MariaDB,但它只說:

57079 access("./database/test123.frm", F_OK) = -1 ENOENT (No such file or directory)
57079 sendto(119, ")\0\0\1\377\6\5#42000Unknown storage engine 'CONNECT'", 45, MSG_DONTWAIT, NULL, 0) = 45

抱歉,我在這裡混淆了一些東西,但不幸的是,由於我連接到相關伺服器的方式的性質,我無法從 CLI 複製粘貼。

我的環境

  • RHEL 7.3
  • MariaDB 10.2.9
  • MariaDB 連接引擎 10.2.9
  • unixODBC-utf16 2.3.1、msodbcsql 13.1.0

我需要什麼幫助

  • 了解 MariaDB 為何聲稱儲存引擎“CONNECT”不存在
  • 通過成功將 MSSQL 表映射到 MariaDB 來解決此問題

不要打擾。經過數小時的研究,我發現一個部落格聲稱 msodbc 驅動程序與這個特定的 MariaDB-connect-engine 版本不兼容。不幸的是,我沒有為相關部落格添加書籤:(

但是,在 SLES 12 上,我使用了稍微不同的版本,而且它開箱即用。

引用自:https://serverfault.com/questions/887226