官網地址:https://www.mongodb.com/products/bi-connector
它目前包含兩個組件:
- mongosqld:mongosqld接受來自SQL客戶端的傳入請求,並將這些請求代理到mongod或mongos實例。
- mongodrdl: 根據一個或多個MongoDB的集合(collection,類似於表),生成一個Schema,交將它寫入.drdl文件中
安裝
安裝包下載地址:https://www.mongodb.com/download-center#bi-connector,可以下載不同系統平台的安裝包
windows:
安裝完成后,安裝目錄的文件,里面會有兩個可執行文件,mongosqld.exe和mongodrdl.exe,分別對應它兩個組件mongosqld和mongodrdl
Linux系統的安裝是將文件下載至服務器,並使用命令安裝已經下載的軟件包
mongodrdl
命令行參數參考官方地址:https://docs.mongodb.com/bi-connector/current/reference/mongosqld/
連接本地mongodb,已經生成了Schema,如果需要使用power bi或是其他的工具連接至mongo connector,需要再安裝另外一個mysql ODBC工具,可以參考《mongo connect BI 連接至Power BI》
mongosqld --mongo-uri "mongodb://localhost:27017/?connect=direct" --addr "127.0.0.1:3307"
嘗試連接mongo atlas,沒有用戶名
mongosqld --mongo-uri "mongodb+srv://集群地址/?connect=direct" --addr "127.0.0.1:3308"
嘗試連接mongo atlas,出現以下錯誤
mongosqld --mongo-uri "mongodb+srv://weschen:123456789@集群地址/?connect=direct" --addr "127.0.0.1:3308"
加入密碼參數,出現以下錯誤
mongosqld --mongo-uri "mongodb+srv://集群地址/admin?connect=direct" --auth -u weschen -p 123456789 --addr "127.0.0.1:3308"
連接的是集群中的單個服務器,依然出現錯誤
mongosqld --mongo-uri "mongodb://服務器1:27017,服務器2:27017,服務器3:27017" --auth -u weschen -p 123456789 --addr "127.0.0.1:3308"
mongosqld也可以與mongodrdl配合使用,mongodrdl生成.drdl文件,而mongosqld直接使用該文件生成schema ,官風應該是可行的,在本機一直在等待,沒有回應
mongosqld --schema d:\demo.drdl
mongodrdl
命令行參數參考官網地址:https://docs.mongodb.com/bi-connector/current/reference/mongodrdl/
在命令行中生成drdl
mongodrdl --host localhost --port 27017 --db tqsapi
將drdl文件保存至指定的地址
mongodrdl --host localhost --port 27017 --db tqsapi --out d:\demo.drdl
mongodrdl連接至mongo atlas,首先需要找到mongo atlas的所有服務器,參考地址:https://stackoverflow.com/questions/42891840/generating-drdl-file-for-mongodb-atlas-for-use-with-mongodb-bi-connector
命令如下,
--host對應到服務器的IP和端口,
-u對應到授權的用戶
-p對應到授權的用戶密碼
-d對應到DB名稱
--ssl --authenticationDatabase=admin 暫時不知道意義
mongodrdl --host 服務器1:27017,服務器2:27017,服務器3:27017 -u weschen -p 123456789 --ssl --authenticationDatabase=admin -d tqsapi
連接至遠程集群中的所有服務器,發現是不可用的,錯誤地址:https://stackoverflow.com/questions/46499140/no-servers-available-mongodb-generating-schema-definition-file
mongodrdl --host 服務器1:27017,服務器2:27017,服務器3:27017 -u weschen -p 123456789 --ssl --authenticationDatabase=admin -d tqsapi --out d:\test.drdl