How can I view an Azure CosmosDb using Pycharms or IntelliJ? - azure

I can see loads of drivers, but nothing for DocumentDB.
I did try searching for an appropriate driver, but I found nothing.
My DocumentDb is in Azure, so I have a URL and primary key, but I was unable to see how to connect via Pycharm using the "Data Source from URL" option.
How can I connect my DocumentDb to Pycharm (or IntelliJ) database explorer?

Cosmos DB is not a relational database, and you cannot simply connect to it as such.
It supports several NoSQL protocol variants: DocumentDB (native document store), MongoDB API, Gremlin graph api, and Azure Table API. Not possible to connect via a relational database driver.
If a tool doesn't explicitly support one of the above-mentioned protocols, you simply won't be able to use it, and will need to work with a different tool. And which tool you choose is really up to you (tool recommendation questions are off-topic).

You can connect to CosmosDb from IntelliJ, DataGrip or other JetBrains software using a JDBC driver. JDBC drivers are software components that allow Java applications to interact with dtabases. (I think that JetBrains IDE's are all based on IntelliJ, which is Java software). I think there are probably a few JDBC drivers around that allow connections to a CosmosDb database and run SQL queries.
For a specific connection example you can look at CData who makes a collection of drivers including a JDBC driver that can be used to connect to CosmosDb from any tool that allows their JDBC driver to be used. They have instructions that are located here for using it with IntelliJ. I have been able to use the instructions located there to connect to a CosmosDb instance from JetBrains DataGrip and run queries against the database. I still have some things to work out but it does allow me to create a successful connection and run simple queries.

Related

Can you use JDBC sources via Azure Linked Services using the Azure Integration Runtime on a remote machine?

All,
We are in the process of migrating our clients to ADF using Integration Runtimes. The clients have the Azure Integration Runtime installed on an on-premise server and we are needing to pull data from a remote database through that connection. The "legacy" product allowed for JDBC connections so we have JDBC drivers installed for the proprietary databases (Progress DataDirect, Pervasive, etc.) but there isn't an option in the Azure Linked Services option for JDBC. We can use ODBC, but that would require purchasing and installing an ODBC driver on each of the client machines. We'd like to use JDBC, but can't find anything that would allow us to do it. Has anyone else run into this and are there any work arounds?
We would prefer to not have each of the clients that used JDBC purchase and install ODBC drivers. We also aren't interested in developing our own ODBC driver that wraps the JDBC driver. We are specifically looking for a way to use the existing JDBC drivers that are installed on the client systems to pull data from their database to create an Azure Dataset.
The Progress DataDirect/Pervasive etc can spit the data in the txt/csv file locally and since you plan to install slef hosted runtime ADF can read the text file and write that any supported sink .

What sort of drivers are used to connect Node.js applications to a database?

If this question is inappropriate for stackoverflow please feel free to remove this question.
Typically when we connect to relational databases from applications (e.g. Java or .Net), a JDBC or ODBC driver is used.
What driver does a Node.js application use to connect to databases? It appears that there isn't a standard way (similar to JDBC or ODBC).
I observed that each vendor provides a driver for Node.js.
Here are a couple that I searched for MS SQLServer and Oracle.
Node.js Driver for SQL Server
Oracle Database driver for Node.js
There are other node.js libraries, some that uses ODBC under the covers.Is there a standard around this space (similar to JDBC for Java)?
Though this question is specifically for RBDMS, it is applicable to NoSQL databases too.
Note: I primarily use Java/JEE (and its ecosystem) for my solutions.
There is no standard Database access API for Node.js. However if you like the JDBC APIs you can use a JDBC driver in your Node application with Avatar.js. This works fine with Oracle's UCP and JDBC thin driver (and maybe other drivers). This technique requires a thread pool to turn the blocking JDBC calls into non-blocking calls. At 2016's JavaOne, new asynchronous Database APIs for Java were presented which will hopefully be part of JDK10 and when that happens these APIs will fit quite nicely from within Node.js.

Akka (JVM) event-sourcing in Azure?

I am trying to deploy an Akka application on Azure, that uses the journal persistence plugin.
I cannot find a working combination when it comes to the persistence plugin I should use.
So far I looked into:
akka-persistence-mongo and Azure Document Store with Mongo driver: it does not work because akka-persistence-mongo is not compatible with the latest reactive-mongo version that supports SSL
akka-persistence-jdbc and an Azure SQL server: it seems the akka-persistence-jdbc is only compatible with Slick H2, Oracle and MySQL drivers
I do not have any strong performance requirements, this is why both solutions would have worked.
My best guess for the moment is akka-persistence-redis with Microsoft Azure Redis.
I am proposing a contribution to this plugin to make it compatible with Microsoft Azure Redis (authentication, as well as a strange error when calling zrangebyscore that I do not have with a local Redis).

Linux ODBC driver for ProvideX database

I'm assigned to find a solution for an issue with connecting proprietary ProvideX database to a running web application developed on a OSX platform using PHP language. What I've figured is that if there will be a possible way for querying data from ProvideX, The web app could pull data and update itself with live data. ODBC is what I found as an effective and possible solution.
The question is that, is there any Linux ODBC driver for provideX so the web API would be able to communicate to ProvideX database? I know that there's one for windows platform since ProvideX has been designed to work with windows systems.
Any thought or writeup I could go over to find out more on this issue?
Don't try to go strictly through the ODBC driver. It works nice if you're just looking at the data in an ODBC compliant application or service, but for web applications PxPlus offers a different way to access the database. Look for PxPlus web server, which may or may not be included in your installation.

node.js sybase driver

I am developing an app using node.js express framework and would need to connect to sybase ASE database. I did enough search and couldn't find the sybase driver for node.js. doesn't node.js support sybase or should I use something like a generic driver?
An exhaustive list of database drivers is on the node.js wiki here:
https://github.com/joyent/node/wiki/Modules#wiki-database
But no Sybase so that leaves using an ODBC driver which, if on *nix, then you have the option of:
https://github.com/w1nk/node-odbc
Alternatively, Sybase ASE has it's own web services engine which exposes SQL and stored procedures through a SOAP API. Your best option may be to just roll your own SOAP client in node against that API, perhaps using node-soap.
As of 2015, a non-odbc implementation based on Jconnect is available. It requires Java.
You can install it with
npm install sybase
More info:
https://www.npmjs.com/package/sybase
I know it has been a while, but if you are still looking, try this:
https://www.npmjs.org/package/sqlanywhere
node.js comes with no DB support at all.
DB connectors are out of the scope of the node.js distribution. But the cummunity fills the gap here e.g. for mysql there is node-mysql.
Problem here is that you want to use a DB without a big (open source) community, so, after some googeling, there is no node.js connector.
If you want to create a connector for sybase ASE you might have a look at node-mysql to get startet. But this is nothing you do in one weekend.

Resources