I'm new to databases and i need to use it for a project i am working on, i have the following question.
If we use SQLite manager to create a database on java and then produce a jar file of the complete program. To install this project do we have to always have the SQLite Manager add-on for FireFox for every computer this program is going to be installed on. Despite having the ability to add and remove things from the database in my program in a GUI.
No, it's not necessary to include extra tools if your program contains every functionality that is needed to operate the database. In some cases it's even better when the end user can't directly access the database, to avoid all kinds of data corruption issues.
That being said, it can be nice to offer a generic tool alongside your solution, and SQLite Manager would be an excellent choice. Check out this list of SQLite management tools for other possible choices.
As a sidenote, there are embeddable database engines that are written in Java and may be easier/more natural to integrate in a Java program than SQLIte - examples of this type of product are Apache Derby and H2
Related
The question is pretty self-explanatory, but below is some more info about the situation:
I am building a Java program that will be replacing a program that consists of an Excel user interface with an Access database. The Excel program connects to the Access database and communicates with VBA. But, so far there has only ever been one user at a time. Now that the program is due to expand, we need many users to be able to write to any table at the same time.
Access allows multiple users to connect at once, of course. This is not possible in HSQLDB, which is what prompted the question. Obviously, this is better accomplished with a server, but the plan is to build the program using the current database and then accomplish the transition to a server later.
Thanks in advance
In order to support multiple concurrent users (processes) writing to an Access database you must use the Access Database Engine. The options to do that from a Java application are:
Use Java's own JDBC-ODBC Bridge and the Access ODBC driver. (Note that the JDBC-ODBC Bridge was removed from Java 8.)
Use a third-party JDBC-ODBC Bridge and the Access ODBC driver.
Use a third-party JDBC driver that works with the Access Database Engine (if such a thing exists).
Note especially that the UCanAccess JDBC driver does not use the Access Database Engine and therefore does not support multiple concurrent users (processes) writing to the Access database.
You can do it. I have a similar application that I use. In version 1.8 of Java, the ODBC bridge was removed, so you'll have to look into using a separate library to connect, assuming you are using 1.8 or above. For me, it's way slower, but it does work. check out
Removal of JDBC ODBC bridge in java 8
I use "Ucanaccess" for my program, which is one of the suggestions in that question.
I want to know whether we can integrate Opencart with other application built in Java / Mongo-DB.
To be precise, A back end system is developed using Java/ Mysql and Mongo DB. All products will be managed from this application(backend) and orders which are placed have to be pushed to this application from opencart(Frontend).
Can you guys help me to know possibility of how a communication between 2 systems, Opencart(Frontend) and Java application(Backend) can be achieved.
With some development experience and a plan of action this can be achieved. The steps are as follows:
Define what system you would like to connect to. For me this was a MSSQL Database.
Come up with a plan of how to connect the two items and what needs to be exchanged.
Once this plan has been setup, you can develop the integration to Opencart, this can be done by simply adding CSV files to exchange data ora direct connection between the databases. Remember to ensure you link the correct fields of your other system to the correct fields of Opencart.
If done by CSV there must be a way to upload the updated results to your other system.
For a java system I came across this system a while ago, not sure if it will help
Good luck with the integration, I have done an integration between a visual studio program in .net and opencart. So far so good
I am creating a piece of software using Java and Eclipse. The software is to be freestanding and not require an internet connection.
The main use of the program requires access to database. I am used to developing for Android where there is an inbuilt MySQL database in every device. Is there a similar thing with Java. I have looked everywhere and have seen references to this kind of thing but have not seen any clear answers. I know there is JDBC, but this seems to be a method of controlling the database rather than creating it.
What I am trying to establish is, is there a pre installed database available to use in Eclipse without any further installation, in the same way as the MySQL Db is available when using Android??
The version of Java I am using is java.runtime.version=1.7.0_40-b43
and I am using Eclipse Kepler Service Release 2
What I am trying to establish is, is there a pre installed database available to use in Eclipse without any further installation, in the same way as the MySQL Db is available when using Android??
First, Android includes SQLite (not mysql). Second, No. No there is not. You could use Derby or SQLite or H2 (or any other pure Java database). As pure Java databases they don't require external installation (but they can be installed externally) and can be run directly in Eclipse.
Would SQLite work for your purposes?
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
It's not pre-installed, but seems like it might be a good fit otherwise:
http://wiki.eclipse.org/Connecting_to_SQLite
I have created a simple database application as a part of my college assignment. I have used Java (Eclipse IDE) and MySQL (command-line and phpMyAdmin) for the purpose of creating and using the database on a stand-alone application. The thing is that my database is stored on the localhost.
An easy way to make my application usable on another person's computer would be to convert it into an Executable JAR (since, I am using Java). However is there any way by means of which I can also install the database directly to the other person's computer (on the localhost)?
Something like an installer or so?
I read online that a simple thing would be to manually install MySQL and create the database. But I don't know PHP and typing the MySQL commands / using phpMyAdmin would be the only choice. But is there any better way to go about doing it?
Thanks for any help.
EDIT1:
I don't know if this helps but I have no previous knowledge regarding creating installers for projects. All I have done until now has been exported either as an executable JAR or as source code. I am still studying.
EDIT 2: Creating an installation for a java project <- is a similar question but it does not help my cause. It recommends not using MySQL. Our college has compulsorily asked us to use MySQL and nothing else. That is what they taught us and expect us to work only with it. Please help.
You don't need PHP here, so don't worry about not knowing it. PHP is just another programming language (a web-based interpreted one), and isn't going to help you install MySQL.
You should probably ask your instructor for assistance, because anything we come up with would be a guess about how they intend for your to operate, whereas they know and have done this before many times. That being said, we can make reasonable guesses toward helping you.
You could probably have one master MySQL installation that all your installed Java applications access. This is probably what you want, rather than installing the MySQL application on each individual computer. Your Java application then connects to your college's MySQL server rather than localhost. This requires configuring the MySQL server for remote access, but if that's what they want you to do they probably have already done so.
The other option is to have an installer that actually installs MySQL and runs a series of scripts to import the expected database structure. I can't imagine this is actually the intention, but there are many different installers that can help with this, and it depends how what platform you're developing for as to which automated installation tool might work best for you. You can, to a large degree, script the installation of the official source, so you may simply be able to tweak that once you find the customization options you need, then wrap that in a simple shell script which first installs MySQL then imports your database structure. I can't imagine this is what your school intends, but that's how you would do it if it were. That or Chef, Puppet, or your distribution's built-in package manager. Too many options to cover them all thoroughly here.
I have created a Java Swing application with database in NetBeans IDE. I have a database created directly in NetBeans. How do I arrange that this application will be installed to run outside NetBeans IDE? For example in Windows. When I have applications without database, it is easy; but the database I do not know.
you need to install a database such as:
mysql, microsoft sql, sqlite, etc.
You can also get portable versions of these that only require an unzip and run (e.g. mysql in xampp).
You will need to create a script (either in your program or do it by hand) to create the necessary schema, and tables that are needed.
Your application must have the same credentials for both your database but also within your requests from java.
If your doing the installation by hand you usually do all the above by hand.
The database need not be on the same computer but can be on the same network or also on the internet - but it will have to be somewhere unless your using something portable like sqllite.
If your creating an automated install script you should define that in your question.