I want to connect to oracle 10g databases in java without help from odbc and jdbc drivers. Is there any way to do that??? Thanks in advance
No. That's exactly what the JDBC drivers are for. To connect to the database.
Strictly speaking you could write your own driver (and call it something else), but that would be an immense amount of work, just because you refuse to do things the correct way.
Yes, it is possible. Oracle can act as a web service provider.
In the 10g version, you can only publish REST XML/JSON services; in 11g, support for SOAP web services was added.
Please note that the services provided by Oracle need to be implemented in PL/SQL; essentially you would be writing stored procedures that wrap the SQL queries you normally send over JDBC. Compared to JDBC, the web service / REST API is a very different tool as it works on a higher level of abstraction. You should only use it when required (e.g. if you don't want to mix SQL with your Java code), not because of false beliefs about security issues with JDBC drivers.
See this Oracle-Base article for more information.
Related
Neo4j have recently added a BI connector tool (neo4j.com/bi-connector) which can return relational data from your graph database to your business intelligence tool such as Tableau. The question is can i send SQL queries to this connector assuming i have added the jar file to my java application class path? If yes, which APIs should i use to send this SQL query to the driver?
I'm using Neo4j4.0.
For neo4j.com/bi-connector, if you look at the document PDF that you get when you download it, on page 10 where they show how to establish a connection you'll see that you get a connection object. After you have that, you have a standard JDBC connection which is a Java interface that tells libraries how to talk to a SQL database. There are a lot of different tools that use this interface, it's kind of user preference. A common one is JOOQ.
I'm newbie in JDBC and I was studying about JDBC Driver and I saw this definition of JDBC Driver:
JDBC Driver converts Standard API calls to low level calls.
What are low level calls and standard api calls?
"Standard API" calls are those defined by the JDBC API, basically all the types defined in the java.sql package.
"Low level" calls are whatever calls the JDBC driver need to make in order to actually "communicate" with the database, e.g.
An Oracle OCI driver needs to call the OCI library directly.
An Oracle Thin driver needs to communicate over TCP/IP with the database server.
SQL Server, PostgreSQL, MySQL, etc works like this too.
Embedded database drivers like H2, HSQLDB, Derby, etc. needs to call the Java code implementing the database.
A JDBC driver is used to enable interaction between Java and a database. Each database will have his own driver to interact with the corresponding protocol.
Each JDBC driver are basically translating standard JDBC API calls into native database calls.
(It's a little more complex in reality, if you want all details take at look at the wikipedia page)
I need to connect my android application to my firebird DB
do someone knows how to do this?
please write the code!
I'm not particularly familiar with Firebird, but my guess is the best approach would be to use a web service of some sort (RESTful?) which allows your Android client to communicate with the database. This is the solution that is typically used for most apps since you can't connect directly to the database from Android. It's also good from a design standpoint because your application does not depend on the underlying database itself, but rather the web service which acts as a mediator, meaning you can swap database implementations without impacting your client.
Since Jaybird (Firebird JDBC driver) doesn't support Android, you need something more "hackish". Commercial solution would be using midware, eg RemObjects DataAbstract supports Android (pre-order/beta stage) and Firebird: http://www.remobjects.com/da/java.aspx
You can try this Jaybird port for Android:
http://sourceforge.net/projects/androidjaybird
I'm looking for a java database server that has support for database to be shared and opened from a PHP web application and a java application simultaneuosly.
I found Apache Derby and H2 Database but they don't have a clear support for PHP application.
Please suggest.
It must be a Java Database Server, since we are planning that we may have to distribute the applications to customers, so we need something portable and redistributable.
Most popular databases have drivers for PHP and for Java.
They also support concurrent connections. Choosing something like SQL Server, Oracle, MySql, Postgres will work just fine.
MySQL might work fine for you. I've used it myself in projects where I both need to access it from java and PHP.
Are there any driver available for JOLAP or Olap4j to access existing OLAP services? I think on OLAP services like Oracle, MS SQL, etc.
We want start a OLAP project with Java? With which of the both API should we start?
olap4j is the perfect Java API for this type of project. It is designed to do for OLAP what JDBC does for relational databases. It allows you to write an application against a server-neutral API, and then run that application against various servers without code changes. Also, the API is easy to learn because it uses the same concepts as JDBC.
Using the XMLA olap4j driver (included with the olap4j distro) you can connect to any OLAP database which has an XMLA driver -- and most of them do. It has been tested against Microsoft SQL Server Analysis Services, SAP BW, and Mondrian, and others. It should work against Oracle's XMLA provider [ http://www.oracle.com/us/corporate/press/173668 ] but I have not tried it.
See www.olap4j.org for more information.
Julian Hyde
(olap4j project founder)
There's an xmla client library by icCube: http://www.iccube.com/products/contributions/xmla-client-library, though I haven't tried it myself.