overview class systems poll microsoft sql server cubist server cgi programming jdbc programming...

14
Overview • Class systems poll • Microsoft SQL Server • Cubist Server • CGI Programming • JDBC Programming • Project Milestones Reminder

Upload: cody-allison

Post on 15-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

Overview

• Class systems poll

• Microsoft SQL Server

• Cubist Server

• CGI Programming

• JDBC Programming

• Project Milestones Reminder

Page 2: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

Systems Poll

• Java or C/C++ ?

• Perl

• HTML

• dynamic HTML: cgi, php, asp, jsp

• database systems? Mysql, postgresql, MSSQL, …

Page 3: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

SQL Server: Query Analyzer

Page 4: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

SQL Server: Login

Page 5: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

SQL Query Analyzer Interface

Page 6: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

Cubist

• CGI programs are not allowed by cs web server

• Special server: CUBIST

• Your account will have directory www

• Accessed as – http://cubist.cs.washington.edu/~username/

Page 7: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

Cubist (Continue)

• You will need to access PostgreSQL on Cubist

• Account has been setup for you.

• Password should have been emailed to you individually.

• Getting start with PostgreSQL details are on our course website.

Page 8: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

CGI Programming

• CGI: common gateway interface

• a program executed by web server, returning web content

Page 9: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

Static HTML

<html>

<h1> I love databases! </h1>

</html>

www.cs.washington.edu/static.html

WWWBROWSER

GET static.html

WEBSERVER

Page 10: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

“Dynamic” HTML w/ PERL

#!/usr/bin/perl

print “Content-type: text/html \n”;

print “<html>\n”;

print “<h1> I love databases! </h1> \n”;

print “</html>\n”;

www.cs.washington.edu/dynamic.pl

WWWBROWSER

GET dynamic.pl

WEBSERVER

program output

CG

I P

rogr

am

Page 11: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

Dynamic HTML w/ DB

WWWBROWSER

GET db_access.pl

WEBSERVER

program output

SQL query

query results

SQLServer

Page 12: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

DB connection from perl#!/usr/bin/perl5 -w

use CGI;

use DBI;

$html = new CGI;

print $html->header, "\n",

$html->start_html();

&searchDatabase;

print $html->end_html;

sub searchDatabase

{

$sql = "SELECT * FROM MovieDatabase";

$db = DBI->connect ("dbi:Pg:dbname=database", "cse444", “cse444");

$db or die "Sorry we couldn't connect!\n";

$data = $db->prepare($sql);

$data->execute();

$tuple = "";

while ($tuple = $data-> fetchrow_hashref()) {

$title = $tuple->{Title};

print “Title is $title<p>";

}

}

Page 13: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

DB Connection from Java• Get postgresql.jar from http://jdbc.postgresql.org/

import java.io.*;

import java.util.*;

import java.sql.*;

public class Database {

public static void main () {

try {

Class.forName("org.postgresql.Driver");

java.sql.Connection con = DriverManager.getConnection (“jdbc:postgresql:database”, “cse444”, “cse444”);

java.sql.Statement stmt = con.createStatement();

java.sql.ResultSet rs = stmt.executeQuery (“SELECT * FROM MovieDatabase”);

while(rs.next()) {

System.out.println(“Title is ” + rs.getString(“Title”);

}

}

catch (SQLException e) { System.out.println (“Error in database connection”); }

}

}

Page 14: Overview Class systems poll Microsoft SQL Server Cubist Server CGI Programming JDBC Programming Project Milestones Reminder

1st Project Milestones

• Today: Groups formed, email both Alon (alon@cs) and Luna (lunadong@cs) with:

– The members of the groups – The group name – The URL of the group web page

• Other project milestones details are online.