I like understand the 'Hive ODBC Connector' concept. means What is a use of Hive ODBC Connector in the architecture.
Does it require to set-up the DSN (data source Name ). Can we go for DSN-less configuration ?
Please explain in details
If you have one of the distributions from Cloudera, Hortonworks, MapR, Intel, Microsoft or DataStax, they already come with an ODBC driver in the distribution. The driver is created by Simba Technologies (http://www.simba.com/connectors/apache-hadoop-hive-odbc).
If you're using the Apache version of Hadoop, you can still trial the version of the ODBC driver on the above link for 30 days, however you will need to pay for it to continue use.
I only mention the above as this ODBC driver is a more complete implementation of the ODBC specification than the open source one, and it can also do SQL-HiveQL translation which essentially means that you can plug it into Excel or Tableau or the like and have them issue standard SQL. As mc110 mentioned, you can make DSN or DSN-less connections and there is also a Windows configuration dialog available should you wish to use that.
Also, in the interests of full disclosure, I work for Simba Technologies.
As explained at https://cwiki.apache.org/confluence/display/Hive/HiveODBC, the Hive ODBC connector implements the ODBC API for Hive, potentially allowing a lot of existing well-written ODBC applications to seamlessly use Hive as they would any other database. The link also explains what API calls are and are not supported.
SQLDriverConnect is supported, which implies you can make DSN-less connections. I suggest you read the information from the link for more information. Also, http://www.cloudera.com/content/cloudera-content/cloudera-docs/Connectors/PDF/Cloudera-ODBC-Driver-for-Apache-Hive-Install-Guide.pdf has a section on configuring DSN-less authentication.
Related
I'm trying to find a tool that will help me to build a documentation for a database.
I need to write comment on column / table and to have a summary of data flow that creates/modifies data and most important, at a conceptual level what data means. I'm also looking for a free tool
After a long search, I found out http://databasenotetaker.com/ which seems to be suitable for my purposes.
My database is Oracle.
From the documentation they say it potentially support every database but I can't connect to Oracle.
I don't know how to specify the driver in the connection window:
According to their documentation
**
Can Database Note Taker connect to other database platforms?
**
Yes and we will add support for other platforms in the future. So long as it's a relational database and there are freely available connectors, then Database Note Taker will be able to work with it. Out of the box you can connect to Microsoft Sql Server, and MySql via ODBC."
Out of the box you can't connect to Oracle, therefore you need a driver. Check with them to understand which driver they mean when they said "freely available connectors". Out-of-the-box in this context refers to the drivers that appear in the selection list.
My advice: Ask them which kind of driver do you need. If standard ODBC is ok, you must download the ODBC driver from Oracle.
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
Important Check whether this product supports 64 bits or it is 32, in order to select the right ODBC driver.
Usually we can get data using ODBC connector in Power BI. Is there any way to get the data using the JDBC connector?
Unfortunately there is no native support for JDBC.
You can upvote the feature request for JDBC at this link
There are options that convert your JDBC connection in to an ODBC one, known as JDBC to ODBC bridges. Oracle has one and here is a Progress option. Once configured you can then use the PowerBI ODBC connector.
Since Power BI is not coded in java its not easy to support JDBC (you will see only ODBC or .net based connectors in PBI). If Microsoft ever wants to add support for JAVA in Power BI then they might have to do via some sort of bridge.
If you are open for 3rd party solution then here is one option by ZappySys
This same problem happens in many non java apps like Excel, MS Access, Informatica PowerCenter they all are not coded in JAVA so cant support loading java libs / runtime.
TL;DR:
Is there a way to connect to an Oracle DB via JDBC without the Oracle JDBC driver? Or any other way (e.g. hibernate)?
Full story:
We have an existing Spring Boot app, which connects to an Oracle 11c database instance using OJDBC driver. Spring Boot internally uses JdbcTemplate to execute a few inserts and selects, basically 5 or 6 type of statements. Technically it is working fine.
However we are in an interesting situation, the code we built has to pass through a series of checks (we are working as subcontractors under a larger international company), and part of these checks is a license inspection. BlackDuck (https://www.blackducksoftware.com) is used to report every single library which is linked in the solution (around 280 in our case), and we had to manually add the copyright statement to each (for example: "Copyright © 2005-2019 The Apache Software Foundation. All Rights Reserved."). We added the Oracle Technology Network license to the Oracle Driver, and it was rejected by the legal team of the international company:
"Unless we are actually licensed to use an Oracle database (which you are not), we cannot allow the use and distribution of the Oracle JDBC drivers. Those drivers are licensed under the Oracle Technology network license and it obligates XXX [company name] to designate Oracle as a 3rd party beneficiary, which is not something our legal department allows. You must therefore find a compatible replacement that is licensed under open source."
Now, we are obviously trying to get around this thing (seeing as the end client who is receiving the solution has a licensed Oracle DB installed, and we can see earlier versions of the OJDBC driver in the company's Nexus repository), but I wanted to ask, is there a way to connect to an Oracle DB via JDBC without the Oracle JDBC driver? Or any other way (e.g. hibernate)? To my knowledge, Oracle DB communication protocol is not fully standard, that's why you need the Oracle drivers. Is there an open source alternative that I don't know of?
Oracle DB communication protocol is not only "not fully standard", there is simply no SQL or JDBC standard for any on-the-wire communication protocol for SQL databases, they are all proprietary.
There is no open-source alternative that I'm aware of, and there couldn't be without Oracle's help as the protocol is not publicly specified as far as I know. We solved a similar problem by having our customers with an Oracle license add the driver to their deployment of our app, that way we didn't redistribute it, and they were the ones who used it.
Yes, use someone else's driver. Progress makes one for example.
I'm not speaking on behalf of Oracle in terms of the quality of THIS driver or the legal terms concerning your decision to not use our driver. However, there are alternatives to our driver for Java applications, and this is one of them.
I tried to upgrade my server JVM to java 8 but I was surprised that Oracle has removed JDBC ODBC bridge from Java 8 !
I searched for alternatives and I found people here provide another solution by a library called UCanAccess but it's mainly for accessing Access DB not Excel sheet.
My question is, can I use UCanAccess to access excel sheeting using same JDBC ODBC bridge used on current application ?
Thanks.
UCanAccess is for accessing a Micrsoft Access database through JDBC, so it cannot be used to access an Excelsheet. You could have found this information by looking at the UCanAccess sourceforge page:
UCanAccess is a pure Java JDBC Driver implementation which allows java developers and jdbc client programs to read/write Microsoft Access database (.mdb and .accdb files). No ODBC needed.
As Stackoverflow is not for software recommendations, I suggest you use your favorite search engine to look for an Excel JDBC driver (they exist, but some of them cost money).
I have a java program using a derby db in Eclipse. I want to use this derby db data with a new program I am about to create with the Lazarus ide. Can I connect direct to the derby db, if so how. Or do I need to export the derby db in some way to use with the Lazarus ide, if so how would I do this?
if you decide with export variant, then .csv (comma separated value) is probably the best inter database.
I have some experience with tdbf.
But from what I've read sqlite will be the best option.
I'm sorry for posting this as answer i have only 42 points reputation and can't post it as comment (need 50 for it)
Does derby support ODBC? Lazarus has a ODBC connection that can be used to connect databases that are not directly supported.
I searched quickly, but mostly saw references to older commercial Derby ODBC drivers. And it will probably depend on OS.