Pass SQL query parameters to MongoDB Connector for BI - mongodb

I using MongoDB Connector for BI and MongoDB ODBC Driver with Microsoft reporting services to can make reports depend on MongoDB ,But when I tried to query the the MongoDB using SQL
select * from students where studentId=?id
I get error
"This command is not supported in the prepared protocol yet"

Related

data pulling from mongodb server to sql through ssis

mongodb server is installed in one server and i want to pull data from mongodb to sql through ssis but the sql and siss is installed in anothe server. i had gone through your mongodb to sql with ssis. i did not under stand weather i have to install that bi connector in mogodb server instance or another server instance where i am using sql and siss.
I had installed mongodb connector and odbc drivers in my instance where I want to store the mongodb data.
while giving credentials of mongodb. like ip and poet username and password dasebase name after

Can you update/insert/delete via MongoDB ODBC driver?

I'm looking to migrate a system that uses an ODBC driver to talk to MySQL and change it to talk to MongoDB. By using mongosqld, BI Connector and a DRDL schema I can access the data and my "select * from ..." queries all work fine. However, I keep getting an error when I try to UPDATE the data. Is this a limitation of the driver or am I doing something wrong?
The error I get is:
[MySQL][ODBC 8.0(w) Driver][mysqld-5.7.12 mongosqld v2.14.0]parse sql 'update `User` set name='Simon Sawyer' where `userid`='3ecdf4a51478644780782b20'' error: unexpected UPDATE at position 8 near update

Azure CosmosDB Mongo API with Tableau

I'm attempting to connect Tableau desktop to our CosmosDB using the MongoDB API. Looks like the Azure Cosmos ODBC driver only supports CosmosDB using the SQL API, not using the MongoDB API. Are there any other ODBC drivers that will work with Cosmos DB Mongo API to get data into Tableau?
We've tried a third party driver by Cdata and this seems to work but we would like to use something free and officially supported by Microsoft.
Thanks,
Chris
Yes, the ODBC driver only supports SQL API. There is a driver for this, MongoDB Connector for BI. I would try this.
Was able to get the MongoDB Bi Connector to work.
Instructions:
Connecting to Tableau requires the installation of "MongoDB BI connector" suite and starting the mongosqld daemon.
The set of instructions to install and configure mongosqld deamon are described at https://www.mongodb.com/tableau?jmp=tbl.
To connect mongosqld to a CosmosDB account, use the following command line instead of the one mentioned in the above documentation
mongosqld.exe /mongo-uri:"mongodb://.documents.azure.com:10255" /mongo-username: /mongo-password:"" /mongo-ssl /mongo-sslAllowInvalidCertificates /mongo-minimumTLSVersion:TLS1_2 /auth /mongo-authenticationMechanism:PLAIN /sslPEMKeyFile:https://www.mongodb.com/tableau?jmp=tbl> /sslMode:requireSSL /defaultAuthMechanism:PLAIN
All the variables marked as <> (with the exception of sslPEMKeyFile) are listed in the Connection String page for your account in the Azure Portal
Once the MongoSQLD instance is started, start your Tableau client, select "MongoDB BI connector" and configure the USERNAME/PASSWORD as follows:
[1]: https://i.stack.imgur.com/lpyPK.png
(replace the location to ca.crt as generated using the key_cert_gen.sh script in https://www.mongodb.com/tableau?jmp=tbl )
Click on OK and "Sign In" and you should be able to access your MongoDB collections.

How to do OpenQuery in mongoDB

I want to do link mongodb servers within one query like SQL Linked server's OpenQuery concept. Is it possible in mongoDB?
SELECT
UserID,
UserName,
FirstName,
LastName
FROM OPENQUERY(remotelinkedservername, 'SELECT * FROM dbo.Users' )
You can't do Open query logic in mongoDB but you can connect mongoDB with SQL server by using MongoDB new ODBC Driver with SQL Connector 2.1.0
A linked server enables you to execute distribute queries against tables stored in a Microsoft SQL Server instance and another data store. Use the Microsoft SQL Server Management Studio to link your MongoDB data store to a SQL Server instance and then execute distribute queries against both data stores.

How to Connect Mongodb to tableau

We are still in the development phase.
Our req is parse the XML to JSON and store them as flat files in Mongodb
Then for the analysis we want to use tableau.
Part 1 of the req is done...now i need to connect to tableau.
Versions we have are
Mongo 3.2
Tableau 9.1
I have googled and couldn't find any steps to integrate tableau with mongodb.
I also saw Mongodb has released a connector but there is no Windows BI connector.
Now do we need to migrate to Enterprise version for tableau connectivity.
Many thanks for the inputs
Detailed Instructions (for Windows), using localhost server of mongoDB:
1) Installation: Install Tableau, MongoDB, and MongoDB BI Connector for Tableau.
2) From the command prompt, you will want to serve your mongoDB instance as well as the mongoDB_sql server needed to connect to Tableau MongoDB BI Connector. Add mongoDB and mongoDB BI Connector bin's to your system path, for example: C:\Program Files\MongoDB\Server\3.6\bin\ and 2) C:\Program Files\MongoDB\Connector for BI\2.3\bin\.
3) Serve your local mongoDB server. Example command: mongod. (Let's assume it is served on localhost:27017.
4) Create a schema of the database you want Tableau to integrate with. Command to do this: mongodrdl --out <path_that_you_want_to_save_schema_to> /db:<name_of_database>
5) Validate the schema, and serve your local server of mongoDB as an SQL server (Tableau expects this server to be running). Command to do this: mongosqld --schema <path_to_schema> (** this will typically serve to localhost:3307)
6) You can now go to Tableau, under connectors, click on the MongoDB BI Connector, and enter localhost for the server, and 3307 for the port. (assuming in step 5 you have validated that the sql server is running on localhost with port 3307).
I hope this helps, these exact steps worked well for me.
The mongo biconnector is implemented as a multicorn (python) based Foreign Data Wrapper imbedded in the supplied postgresql server. Tools are provided to set up the postgresql "biuser" user, to create the collection to table mappings from data sampling, and to import the resultant schema into postgresql. The postgresql database contains non-materialized views corresponding to the (flattened) mongo collections. Access is through the postgresql server using standard postgresql jdbc/odbc drivers.
I think run mongodb bi connector in docker ubuntu/centos is a choice if the connector does not support windows, and tableau does not support linux, that's a question.
There is an example of create bi connection in www.mongodb.com/tableau with mongosqld
Hope this would work well for your issue
I have described our way connecting to data in MongoDB Community Edition to Tableau. First creat an API to your DB, then Web Data Connector to Tableau (it's HTML and JS files), after you can use WDC Connector in Tableau to connect to your URL.
Here is the detailed description how we did it: https://medium.com/#katya.neulinger/tableau-web-data-connector-to-mongodb-c1477d7d5ac9