I am looking for someone that can explain me in simple terms with written instructions how to create a JDBC in PostgreSQL (I am losing my mind with this). I found other answers in this page and others but I couldn't follow them.
I am no programmer, so I didn't undertand any of the instructions of how to do it in webpages and forums -the method mentioned was configuring the classpath environment variable in the command prompt but I got stuck in the command prompt, I think I have to configure the Java console or something.
I am learning some data mining and I wish to connect to some databases in order to practice. I suppose that for someone knowledgeable in this area this should be an easy job.
I prefer to install a driver in postgresql and not using a bridge.
Thanks a lot!
The phrase “how to create a JDBC” makes no sense.
You need to learn some basics first. Be clear on what JDBC is (a standard for connecting or mediating between a database and a Java app), what a JDBC driver is (a particular implementation of JDBC for a specific database.
There are four types of JDBC drivers, the Type 4 (pure Java) being most common in my experience.
For any particular database, you may find there are zero, one or more drivers implemented and available. Some are free-of-cost and open-source, some are not. For example, in Postgres there are two open source drivers, the classic one and a newer rewrite-from-scratch one, as well as some commercial products.
A JDBC driver is only useful when trying to connect a Java app to your database. That may be your own app you are writing, or a finished app you obtained such as a database-administration tool.
You must have a Java implementation installed on your computer, such as one from Oracle or from the OpenJDK project, or from another vendor such as Azul (Zing & Zulu).
You need to learn about the Java Classpath, the list of all the folders where the JVM will be looking for Java classes and JAR files. Read the Oracle Tutorial. The easiest way to go is to drop your JDBC driver JAR into an already existing folder on the Classpath, so you do not need to twiddle with setting the Classpath. For example, on a Mac you could drop your driver into /Library/Java/Extensions.
The JDBC driver sits between the database engine and the Java app. You do not install the JDBC driver into the database engine, such as your Questions mentioned, “install a driver in postgresql”.
[Postgres] ↔ [JDBC driver] ↔ [JVM] ↔ [Java app]
Related
I've been Googling this for a while now without much luck, but I suspect if it is possible it should be quite straight forward...
I have an ODBC connection set up within Windows to Sage 50 Accounts, with the DSN of SageLine50v22. I can browse through the Sage database using standalone ODBC programs, but I was wondering if it's possible to connect to it from Netbeans (v8.1) directly, so that I can browse through the database from within the IDE, in the same way I could with a MySQL or SQLLite connection? Please note - I am not trying to connect my actual code to the database - I only want to be able to browse it (I think the Sage ODBC connector is one way only anyway).
I was trying to use the Oracle/Oracle Thin drivers, since the driver is called ODBC7.jar, but I'm beginning to suspect I may be barking up the wrong tree, since all the Google results seem to indicate this is for connecting to ODBC programmatically using Java. Can any one clear this up for me?
I'm using Glassfish server 4.0 as my app server for a java project in NetBeans 7.3.1. I have a database schema which I would like to include in my server as a database. Is there a way to generate the database in Glassfish based on a previous schema?
The extensions of the files are .frm and there's one .opt file.
Also, does Glassfish include a visual interface to modify a database's table's properties and registries?
Thanks in advance.
The answer to your the last part of your question is no. Glassfish itself does not include a visual interface for modifying database tables, properties etc. It includes a visual interface for creating JDBC Connection Pools and JDBC Resources. I personally use one integrated into my IDE of choice, Netbeans may have this feature, I happen to use IDEA. In production you could use any 3rd party app that does this, TOAD being a popular one but there are many.
I have some thoughts on the first part of your question but nothing ready to put into an answer at this point. When I do I'll update this one if its still an open question.
EDIT: Although this question is still unanswered for 3.X versions of Eclipse, using 4.X versions (Juno) solves the problem.
I can't browse tables for a given schema in Informix using Eclipse Data Source Explorer. The only tables I can browse is the catalog, the sys* ones in the Informix schema.
I'm using Eclipse v3.6 (Helios) with Data Tools Project plugin v1.9.2 for accessing an Informix 11.70 database.
The driver (v10.0) and the connection configuration seem to be right as I can ping and query properly using the SQL scrap book, creating and selecting tables. In fact the applications work perfectly once deployed, but I'm unable to use Eclipse features such as JPS tools.
The user has the proper access and is able to browse and operate anything from Server Studio.
I've searched Google for a few days and found some cases expriencing something alike (for instance it can happen in MySQL if you're missing the database in the URL), but found no proper answer.
Thanks in advance
P.S.: I have the same question open in DTP forum http://www.eclipse.org/forums/index.php/m/874976/#msg_874976
P.S. II: I've created a test project that illustrates the problem. Notice the "Tables" node can't be expanded.
The issue will be 'How does Eclipse Helios with Data Tools Project' go looking for tables in an Informix database?
If it interrogates the Informix system catalog directly (systables, syscolumns, ...), there should not be an issue. The fact that you can browse the system catalog tables is curious. Maybe it is only showing you tables 'owned by informix' in the Informix jargon; that would be 'in the schema informix' in some other systems' jargon. Look at the plugin options to see if you can change the schema name somehow, or have it look at all schemas simultaneously.
If it is looking for standard SQL 'Information Schema' tables, those are AWOL in Informix. You might be able to run dbaccess yourdb $INFORMIXDIR/etc/xpg4_is.sql and get enough of an archaic version of the Information Schema tables (from the XPG4 – X/Open Portability Guide version 4 – definition of the Information Schema) to be usable, but I'd not want to bet on it being adequate.
I'm developing an iPad app that needs read-only access to an Oracle database.
Is there any way to do this? As far as I can see, the only options are using OCI, which requires a prebuilt binary in the form of the instant client (and not built for ARM), or OJDBC drivers. Both of these seem to be out of the question.
In my research I have discovered that libmysqlclient compiles for arm with minimal tuning. This is a stretch, but is there any possible way to use this to my advantage?
I have seen this product providing odbc connectivity through the use of a Windows gateway machine using the ODBC client libraries, but this solution really isn't an option for me at the present time.
Any ideas?
At the very bottom, there are only two libraries for accessing Oracle:
The OCI binary library.
The Java OJDBC Jar file.
All other libraries (such as ODBC, ADO.NET) build upon one of these libraries (usually on OCI).
There's no OCI library for the iPhone (or any ARM architecture as far as I know) and there's no Java VM to use OJDBC. So you cannot directly connect from the iPhone to an Oracle database.
So whatever your solution will be, it'll require an intermediate server (or gateway).
While I did end up using an intermediary server... I have since realized that this isn't strictly necessary. Direct access should be obtainable by using the OJDBC drivers directly on iOS using gcj to compile them for ARM. Since Objective-C is a superset of C, you could use JNI for communication to and from. Hope this helps anyone who comes here :)
Direct access to an Oracle database from iOS is not possible as of this moment. Exchanging data with an Oracle database by means of web services is fairly simple. You can use APEX for this, lean and mean.
I can't see any of my schemas when I try to use Eclipse data source explorer. It's not a problem with JDBC connection because I can connect and execute SQL statements. It's just that the tables don't appear. How do I make them to appear?
Very likely you cannot. Access has a very limited ODBC support (as I suppose you are using the JDBC-ODBC bridge driver). You don't have many options. You could purchase a JDBC driver with more functionality (expensive), and if your Access is 97 or 2000, the QuantumDB Eclipse plugin has a trick to get metadata information from these versions, by exploring the system tables. Perhaps you can find other plugins that manage that for more recent versions, but otherwise, you are stuck.