CSE5330 Project #5
Thursday May 6
Worth 5% of the final grade
You may do this project either on Omega or on a PC.
- Coding your Project on Omega
You may code your application program on Omega using either Java or C:
- Coding in Java
Read the slides jdbc.ppt first, which explain JDBC.
Download the jar file mysql-connector-java.jar on your
omega account (at your top directory). Make sure that when you execute java -version
you get "1.6.0_03". Then execute the following command every time you login into your omega account:
export set CLASSPATH=.:~/mysql-connector-java.jar:$CLASSPATH
(you may put this line at the end of your .login file so that you don't have to execute it every time).
Then download mysql.java and change it to work on your database (change: user, password, db, and the query).
You compile it using javac mysql.java and you run it using java SQL.
You should make sure that it works before you start coding your program.
- Coding in C
You should first read MySQL C API.
Then download mysql.c and change it to work on your database (change: user, password, db, and the query).
gcc -I/usr/include/mysql -L/usr/lib64/mysql -lmysqlclient -lz mysql.c
Then, to execute it, you do ./a.out.
- Coding your Project on a PC
If you want to do this project on a PC running Microsoft Windows using Java you need to do the following:
On Windows, open a Command Prompt window and type:
- Read the slides jdbc.ppt first, which explain JDBC.
- If you don't have Java on your PC, install JDK 6.
- Download the jar file mysql-connector-java.jar
on your Desktop direcory.
- Download mysql.java and change it to work on your database (change: user, password, db, and the query).
- If you don't have secure shell, install SSH from UTA.
ssh2 -L 3306:localhost:3306 email@example.com
(replace xyz9999 with your own net-ID). Give your net-ID password and keep the window open and connected to omega.
If you get the message "Warning: Local TCP/IP forwarding for port 3306 port failed."
you need to disable your PC firewall (eg, if you use Symantec, set Network Threat Protection to off).
You compile the mysql.java using javac mysql.java.
Every time you want to execute your java program, you need to do the following:
java -classpath "C:\Documents and Settings\Owner\Desktop\mysql-connector-java.jar";"." SQL
or wherever you stored the mysql-connector-java.jar file. If you get a Java error:
"Exception in thread 'main' com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure",
it means that your ssh2 connection has failed: login again using ssh2.
For Linux or Mac users: you can do the project on your computer, but you need to use ssh instead of ssh2 and : instead of ; in the classpath.
- Application Requirements
Best Travel is interested in an application program interface that is
easy to use so that it does not have to spend unnecessarily to train
their employees. So, you are expected to write a
program that consists of the following two applications for
their daily transactions.
Note that these application programs should use an ASCII interface (ie. by reading
input text from the terminal and printing out text to the terminal).
That is, it may provide choices by number
and ask the user to choose a number). For example, it may say: "type 1
to start the flight inquiry or type 2 for reservations", and then may ask other
information based on the application, such as, for the flight inquiry application, it may ask for source and destination cities, etc.
- Flight Inquiry
- This application is used to retrieve flight information between two given
cities. The program, invoked by a choice on the
main menu, should first issue prompts to obtain the start city and
destination city of the trip. Additional input may include the
departure date, departure time, arrival time, carrier, and flyer
class. Then the inquiry application displays the flight information
resulted from retrieving the database. For simplicity, we assume that
when no departure date is given at the beginning, that day's date will
be assumed. If no flyer class is given, the inquiry application should
display the fare of all available classes on that flight.
This application is used to make the reservation, by which a travel agent
should be able to insert the following data items into the database:
reservation number, customer title, name, telephone number, address,
frequent flyer memberships, payment mode, a list of flight
instances and status of each. You design the
interface for insertion of this data into the database. The database
should be updated accordingly after each reservation, including the
number of available seats.
All your source code must be in one file (eg, code.java or code.c). Don't submit any other file except your source code file.
You must use the following form to submit your file electronically.
You may submit it as many times as you like,
but only the most recently submitted file will be retained and evaluated.
Last modified: 04/27/10 by Leonidas Fegaras