Sei sulla pagina 1di 19

>JDBC es usado para enviar comandos SQL hacia una base de datos relacional, que puede ser Oracle,

Infomix, SyBase, etc.

>Establece una conexin con una BD >Enva sentencias SQL >Procesa los resultados

El JDBC provee al desarrollador la capacidad de unirse o conectarse a los sistemas de bases de datos relacionales.

JDBC normaliza la mayor parte de las operaciones (las hace independientes de la base de datos utilizada y por tanto portables).

JDBC no comprueba que las sentencias SQL son correctas, sencillamente las pasa a la base de datos.

Cargar el driver de la base de datos a acceder, Definir el URL usado para


Establecer

la conexin Crear una orden SQL Ejecutarla Procesar los resultados Cerrar la conexin
5

jdbc:sqlserver://[serve rName[\instanceName ][:portNumber]][;pro perty=value[;property =value]]


6

Conexin con la base de datos predeterminada del equipo local con autenticacin integrada:

jdbc:sqlserver://localhost;integratedSecurity=true;

Conexin a la base de datos con nombre de un servidor remoto:

jdbc:sqlserver://localhost;databaseName=Adventur eWorks;integratedSecurity=true;
Conexin en el puerto predeterminado con el servidor remoto:

jdbc:sqlserver://localhost:1433;databaseName=A dventureWorks;integratedSecurity=true;
Conexin mediante la especificacin de un nombre de aplicacin personalizada:

jdbc:sqlserver://localhost;databaseName=Advent ureWorks;integratedSecurity=true;applicationNam e=MyApp;

Todas las interacciones con la base de datos tienen lugar a travs del objeto SQLServerConnection

> INSTRUCCIN: Connection con = DriverManager.getConnection(url,"myLogin", "myPassword"); Representa un enlace desde una aplicacin Java con una base de datos. Todas las sentencias SQL y los resultados se devuelven en el contexto de una conexin.
9

INSTRUCCIN: ResultSet rs = stmt.executeQuery(select nombre where direccion like Santiago); while (rs.next()) { String s = rs.getString(nombre); int y = rs.getInt(ao); System.out.println(s+ +y); } ResultSet rs contiene una coleccin de filas con los resultados de la pregunta. La instruccin next avanza un puntero que indica en qu fila estamos actualmente. Al principio est antes de la primera fila, por lo cual se hace necesario ejecutar un next() para situarse en la primera.

10

Statement: Este objeto es usado para enviar sentecias SQL simples. Es creado por el mtodo createStatement.

PreparedStatement: Este objeto es usado para sentencias que requieren uno o ms parmetros. La sentencia es precompilada y guardada para uso futuro.

CallableStatement: Es usado para ejecutar procedimientos almacenados en la base de datos


11

INTRUCCIN:

Statement stmt = con.createStatement();

En este momento la statement existe pero no tiene una sentencia SQL para ejecutar. Esta se puede pasar con los mtodos:
executeUpdate(String), usada para crear/modificar tablas (no hay resultados), tpicamente para create, update, delete. executeQuery(String) para hacer consultas, retornan resultados en un objeto de la clase ResultSet, tpicamente para select.

12

> stmt.executeUpdate(create table alumno (nombre varchar(32), matricula integer, direccion varchar(40), aonac integer, ...); > stmt.executeUpdate(insert into alumnos (Valeria Valencia , 00998852678, Calle bonita 223 Vitacura Stgo, 1974, ...); > stmt.executeQuery(select * from alumnos + where aonac = 1974);
13

> Cada instancia se identifica con un nombre concreto. > Para conectarse a una instancia con nombre de SQL Server, puede especificar el nmero de puerto de la instancia con nombre o bien el nombre de instancia como propiedad de URL de JDBC o propiedad datasource.

14

> Para usar un nmero de puerto: jdbc:sqlserver://localhost:1433;integratedSecurity=tr ue;<more properties as required>; > Para usar una propiedad URL de JDBC: jdbc:sqlserver://localhost;instanceName=instance1;int egratedSecurity=true;<more properties as required>;

15

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane;
16

17

> Class.forName("com.microsoft.sqlserver.jdbc.SQ LServerDriver"); > Connection con = DriverManager.getConnection("jdbc:sqlserver:// 192.168.0.1:1433;databaseName=@dbname"; "@username", "@password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM table"); while (rs.next()) > {
String value = rs.getString("field");

> }
Donde:

18

@dbname es el nombre de la base de datos @username es el nombre de usuario de la conexin @password es la clave del usuario de la conexin

> http://msdn.microsoft.com/eses/library/ms378672(v=sql.90).aspx > http://translate.google.com/translate? hl=es&sl=en&u=http://support.micros oft.com/kb/313100&ei=rT-2TfbN4O6sQOc24GpAQ&sa=X&oi=translat e&ct=result&resnum=3&sqi=2&ved=0 CDAQ7gEwAg&prev=/search%3Fq%3D jdbc%2Bsql%2Bserver%26hl%3Des% 26biw%3D1280%26bih%3D675%26pr md%3Divns > http://www.dcc.uchile.cl/~lmateu/CC6 0H/Trabajos/jfernand/ > http://www.lelissam.com/content/cone xi%C3%B3n-java-jdbc-con-sql-server > http://fosterx.blogspot.com/2007/11/c onexion-sqlserver-traves-de-jdbc.html

19

Potrebbero piacerti anche