We are using Oracle server and we need to fetch data from MongoDB. As RHEL 7 is supported for installing MongoDB drivers, and the one we use is RHEL 6.9. So drivers are not installed and dblink was not created. We are looking for other options to access this MongoDB server from Oracle server.
Please need help here.
This will be a challenge because Oracle is a relational database whereas MongoDB is "NoSQL". A native connection is not possible.
Look for a MongoDB ODBC Driver, e.g.
MongoDB ODBC Driver
Progress DataDirect ODBC Driver for MongoDB
devart ODBC Driver for MongoDB
CData MongoDB ODBC Driver
easysoft MongoDB ODBC Driver
Once you installed one of them, use the Oracle Database Gateway for ODBC to access the MongoDB via the ODBC driver.
The configuration of this can be tricky, but it should be possible.
Almost any popular programming language is able to connect to an Oracle database as well to connect to MongoDB. So, you can write a program/script which copies data from one database to the other. However, if you like to use direct connection (i.e. database link in Oracle) the you have to use one of these ODBC driver.
In combination with the Oracle Gateway for ODBC, you solve this problem via any of the following solutions:
ODBC or JDBC (via ODBC-to-JDBC Bridge) Drivers and Oracle's Database Integrator for ODBC
ODBC- and/or JDBC-compliant Data Virtualization Platform
ODBC Driver and Oracle Data Integration (ODI) Gateway
Attach Oracle to MongoDB Driver. You can use a native JDBC driver, or a JDBC-to-ODBC Bridge Driver plus a native ODBC driver
Perform your Data Manipulation operations via ODI
OpenLink JDBC-to-ODBC Bridge Drivers provide enhanced DBMS virtualization that increases compatibility between JDBC client apps and 3rd party ODBC Drivers.
Data Virtualization Platform Solution
Here's how it works, given that you have ODBC access to each of Oracle and MySQL Database Management Systems (DBMS), using either a native ODBC Driver or a native JDBC Driver with an OBDC-to-JDBC Bridge:
Attach the Data Virtualization Platform to the MongoDB instance
Attach the Data Virtualization Platform to the Oracle instance
Perform your Data Manipulation (DML) operations on Data managed by either DBMS, as though they were in local tables in the Data Virtualization Layer
Our Virtuoso Multi-Model Database Management and Virtualization Platform is an example of a Data Virtualization solution that operates in the manner described above.
Related
Data Virtualization for Beginners
OpenLink ODBC-to-ODBC Bridge Drivers — increase compatibility of third party ODBC Drivers with Oracle's ODBC Gateway
OpenLink JDBC-to-ODBC Bridge Drivers — enable use of third party ODBC Drivers with Oracle's ODI middleware
OpenLink JDBC-to-JDBC Bridge Drivers — increase compatibility of third party JDBC Drivers with Oracle's ODI middleware
OpenLink ODBC-to-JDBC Bridge Drivers — enable use of third party JDBC Drivers with Oracle's ODBC Gateway
Using Oracle's ODI and the OpenLink JDBC-to-ODBC Bridge to connect to Microsoft Excel data sources
Virtuoso Data Virtualization Platform
Related
I understand that to reverse engineer a database in Visio you require a ODBC data source name. I created one using the PostgreSQL Unicode(x64) driver.
In the Visio Reverse Engineering Wizard, you can select from Microsoft SQL Server, ODBC Generic Driver, and Oracle Server. The created DSNs show only up under Microsoft SQL Server and Oracle Server; when selecting the ODBC Generic Driver, there are no Data sources. When I create one using the New button, it again shows up under both the Microsoft SQL Server and Oracle Server.
When I select the DSN from either list, I can enter the User and Password, but get the one of the following errors:
Oracle driver: Warning! You are using a Visio 'Oracle Server' driver to connect with a 'PostgreSQL' DBMS datasource. By using an incompatible driver, it is possible that the catalog information retrieved will be incomplete.
Microsoft SQL driver: Function sequence error
In both cases, I am unable to generate a diagram. Any thoughts?
The "Setup" button next to the installed Visio drivers allows you to select the ODBC drivers to use. If no ODBC driver is selected, all DSNs are displayed; if specific ODBC drivers are selected, only those DSNs which use that specific driver will be displayed.
In my case, the Microsoft SQL Server and Oracle Server Visio drivers did not specify any ODBC drivers to use so all DSNs were displayed.
On the other hand, the ODBC Generic Driver had the PostgreSQL ANSI drivers selected which resulted in my DSN using the PostgreSQL Unicode driver NOT to be displayed. Clicking on the Setup button and adding a checkmark to the PostgreSQL Unicode drivers made the DSN available for selection and the Visio was able to reverse-engineer the database.
Select ODBC drivers associated with "ODBC Generic Driver"
I trying to connect to GCP Postgres. The most convenient method my environment has is an ODBC driver. Will GCP serve that type of connection?
That should work. The server doesn't know it is talking to an ODBC driver. It speaks its native protocol, it is up to the ODBC driver to interpret that.
I need to access data in Mongo DB through Oracle DB. Can you guys help me to create a link between Mongo & Oracle?
First you need to install an MongoDB ODBC driver. You can install the ODBC driver from Mongo: https://github.com/mongodb/mongo-odbc-driver
However, this ODBC driver works only for Mongo Atlas, i.e. MongoDB Cloud service, see MongoDB ODBC Driver. If you have a local MongoDB then you cannot use it. In this case you have to go for one of the commercial third party Mongo ODBC drivers:
Progress: https://www.progress.com/odbc/mongodb
CData: https://www.cdata.com/drivers/mongodb/odbc/
devart: https://www.devart.com/odbc/mongodb/
EasySoft: https://www.easysoft.com/products/data_access/odbc-mongodb-driver/index.html
Simba: https://www.simba.com/drivers/mongodb-odbc-jdbc/
Then you can use the Oracle Database Gateway for ODBC for the connection.
As far as I understand the "Oracle Database Gateway for ODBC" is one of the possible Heterogeneous Service Agents of the "Database Heterogeneous Connectivity" mentioned by Justin Cave.
Can someone tell me the difference between pgAdmin and postgreSQL? Are both of them one in the same? I can't draw a ER diagram in pgAdmin but was wondering if it's possible in postgreSQL?
Once I downloaded the postgreSQL it automatically downloaded the pgAdmin and the postgreSQL database is not in sight.
The PostgreSQL is a database engine implementing SQL standards. It usually listen as a server on a network tcp port to provide its abilities.
The pgAdmin is a sort of client. You are able to manipulate schema and data on an instance or multiple instances of PostgreSQL engines.
The MS Windows instalation package consists of both PostgreSQL server and PgAdmin client. So far right after the instalation you are able to manage your databases.
PostgreSQL (pronounced as post-gress-Q-L) is an open source relational
database management system ( DBMS ) developed by a worldwide team of
volunteers. PostgreSQL is not controlled by any corporation or other
private entity and the source code is available free of charge.
The pgAdmin package is a free and open source graphical user interface
administration tool for PostgreSQL, which is supported on many
computer platforms.
phpPgAdmin is a web-based administration tool for PostgreSQL written in PHP and based on the popular phpMyAdmin interface
originally written for MySQL administration
Hope you can understand now it well!!
What is the difference between adodb and oledb?
What is the relation between these two?
Where does ado.net stands in context of adodb and oledb?
Adodb (ActiveX Data Objects DB) is an API layer over OLE DB. It works well with MS-based databases such as Sql Server, providing a consistent API and optimizations. That being said you can use ADODB to connect with non-MS data sources as well but that would mean that you will require an OLEDB/ODBC Provider for the data source.
In simpler terms, to connect to any data source you need a driver. Here are a couple of common scenarios to think of:
ADODB for Data Source that has ODBC Driver Only - ADODB uses OLEDB Provider for ODBC which loads ODBC Driver which then connects to Data Source.
ADODB for Data Source with OLEDB Driver (like SQL Server) - ADODB uses OLEDB Provider for SQL Server to talk directly with DB.
Oledb (Object Linking and Embedding DB) is a standard format supported by a large number of dbs, so you can connect to oracle, db2 etc. using Oledb. You can also use OLEDB directly to connect to Sql Server but the API is messier as compared to a adodb connection which is optimized to work with Sql Server and MS Access.
ADO.Net is a .Net based db connection "architecture". In ADO.Net there's a library for Oledb - System.Data.OledbClient. Adodb has been replaced/upgraded and ADO.Net now uses the System.Data.SqlClient library for MS-based databases/data providers.
ADO is a COM-based library for accessing databases.
OleDB and ODBC are standards for communicating with databases.
ADO uses the OleDB to talk to any database that exposes an OleDB driver.
There is also an OleDB driver that can wrap any ODBC driver. Thus ADO can also talk to any database that exposes an ODBC driver.
ADO.NET (a.k.a. System.Data) is a .NET based library for accessing databases.
ADO.NET has built-in support for SQL Server, OleDB, and ODBC
Third parties can expose their database to ADO.NET by building a ADO.NET compatible library
Third parties can also expose their database to ADO.NET by offering an OleDB or ODBC driver