Cadenas de Conexionf
-
Upload
uriel-vasquez -
Category
Documents
-
view
220 -
download
0
Transcript of Cadenas de Conexionf
-
7/26/2019 Cadenas de Conexionf
1/21
INSTITUTO TECNOLGICO DE ESTUDIOS SUPERIORES DE LOSCABOS
Por una patria con sabidura y espritu de progreso
PROGRAMACION DE BASE DE DATOS
CARRERA:Ingeniera en Sistemas Computacionales
8IS-01M
ALUMNOS:
Vsquez de la Cruz Uriel
DOCENTE:Sergio Ivn scalante Soto
San Jos del Cabo, B.C.S. de !eb"e"o del #$%
-
7/26/2019 Cadenas de Conexionf
2/21
Cadena de &one'()n de C* &on S+L
Conectar nuestras aplicaciones C! a una "ase de datosen S#$ Server es uno de
los requerimientos ms importantes de %uncionalidad en nuestros pro&ectos' (or
eso )o& aprenderemos una %orma de realizar esta cone*i+n & veremos e,emplosque nos guen a travs de todo el artculo'
n primera instancia vers c+mo a"rir la cone*i+n al servidor. luego aprenders
a e,ecutar comandos. tam"in a mostrar los datos de una consulta en un
/ataridVie & %inalmente comprenders la e,ecuci+n de procedimientos
almacenados'
C232 U43 C546I74 C54 S#$C544CI54
$o primero es crear una cone*i+n de red entre la aplicaci+n & el servidor de "ases
de datos' (ara ello usaremos la clase SqlConnection del namespace SqlClient'
ste espacio de nom"res es el encargado de gestionar los datos en S#$ Server
)acia el 9rameor: '4' s solo declarar un nuevo o",eto de cone*i+n similar la
siguiente linea de c+digo;
using S&stem'/ata'SqlClient
-
7/26/2019 Cadenas de Conexionf
3/21
SqlConnection con = ne SqlConnection>?SqlConnection con = ne SqlConnection>datoCone*ion??
D con'5pen>?< EEFloque de instrucciones so"re la "ase de datosG
3l %inalizar dic)o "loque la cone*i+n se cierra inmediatamente. li"erndonos de
esta responsa"ilidad'
-
7/26/2019 Cadenas de Conexionf
4/21
Cadena de &one'()n de Jaa &on S+L
n este post entramos a lo que es Hava 3vanzado' (ara iniciar con este apartadolo primero que realizaremos es la cone*i+n de Hava & S#$ Server para podertra"a,ar con un motor de "ase de datos & empezar con el desarrollo de so%tarereal & as tam"in almacenar los datos & posteriormente o"tener reportes de ellos'
(ara estas pu"licaciones se realiz+ una "ase de datos la cual se pasar un"ac:up con lo que tra"a,aremos s+lo les )ara %alta importarlo & luego realizarnuestro tra"a,o que es la parte de programaci+n so"re Hava'
(reparando el Campo de /esarrollo
3ntes de empezar realizaremos lo siguiente'
-/escargar el "ac:up de la "ase de datos aqu'-Creamos la "ase de datos /FVentas-Importamos el "ac:up a a nuestra "ase de datos creada /FVentas en nuestromotor de "ase de datos S#$ Server'-Creamos nuestro pro&ecto & creamos las clases respectivas'
-/escargamos el ,ar para la cone*i+n' $o podemos descargar aqu'-3gregamos el Har a nuestro pro&ecto'
http://www.mediafire.com/?9iv638b3etzcl09http://www.mediafire.com/?37sz7f74hkd7d8xhttp://www.mediafire.com/?9iv638b3etzcl09http://www.mediafire.com/?37sz7f74hkd7d8x -
7/26/2019 Cadenas de Conexionf
5/21
a"iendo realizado todo esto. &a tenemos preparado nuestro entorno para poderrealizar el c+digo respectivo para nuestra cone*i+n'
C+digo de la Clase @Cone*ion/F@
pac:age Cone*ion/Fnull. e*. @rror1 en la Cone*i+n con la
F/ @Ae*'getMessage>?. H5ption(ane'2252MSS3?S#$*ception e*? D H5ption(ane's)oMessage/ialog>null. e*. @rrorN en la Cone*i+n con laF/ @Ae*'getMessage>?. H5ption(ane'2252MSS3?< cone*ion=null< G catc)>*ception e*? D
H5ption(ane's)oMessage/ialog>null. e*. @rrorO en la Cone*i+n con laF/ @Ae*'getMessage>?. H5ption(ane'2252MSS3?< cone*ion=null< G %inall& D return cone*ion< G GG
sta clase es la que realizar la cone*i+n con la "ase de datos. como se puedever tenemos un mtodo que retorna un tipo Connection el cual se recuperardesde cualquier clase que desee acceder a este mtodo' /e esta %orma tenemosnuestra clase cone*i+n accesi"le desde cualquier capa que podamos crear sin lanecesidad de programarlo ms de una vez'
C+digo de la clase @Main@
pac:age Cone*ion/Fnull. @Cone*i+n 2ealizadaCorrectamente@?< G GG
(ara este caso que es un e,emplo de s+lo la cone*i+n con la Fase de /atos.realizamos un simple main donde )acemos una llamada a la clase @Cone*ion/F@& recuperamos el valor que retorna & si es di%erente a @null@ eso indica que lacone*i+n se realiz+ correctamente'
ener en cuenta que se de"e mane,ar de una %orma adecuada las e*cepcionesque podra darse en la cone*i+n. como se puede ver se mane,a varios tipos dee*cepciones en la clase @Cone*ion/F@'
Compilaci+n del programa
2ealizado todo esto el programa de"era compilar realizando la cone*i+n &lanzando un mensa,e indicando que se realiz+ la cone*i+n correctamente o unmensa,e donde indique si surgi+ alguna e*cepci+n'
Si todo se realiz+ correctamente. el so%tare de"era correr de la siguiente %orma'
Como se puede ver. esto indica que la cone*i+n se realiz+ correctamente'
-
7/26/2019 Cadenas de Conexionf
8/21
Cadena de &one'()n de P-P &on S+L
Casi todos los lengua,es de programaci+n vienen de la mano de un gestor de"ases de datos con el cual se entienden mu& "ien. tal es el caso de (( & M&Sql.o 3S( & S#$ Server' (ero en algunos casos seguramente tendremos que )acercosas como las del ttulo de esta entrada. sea "ien por requisitos la"orales.conveniencia o por cualquier motivo' (ues "ien esto es posi"le & no considero quesea tan desca"ellado'
(ara aquellos interesados en esta travesa les presento el siguiente script p)p querealiza la cone*i+n a una "ase de datos de Microso%t S#$ Server & lista datos deuna ta"la'
/010
EECadena de cone*i+n
connectionstring = T/2IV2=DS#$ServerGconnectionstring. user. pass ?result??
D
Var1 = od"cresult>result. Tnom"resT?
-
7/26/2019 Cadenas de Conexionf
9/21
ec)o @Var1; @ ' Var1 ' @Y"rZ@local?
Uno de estos valores indicarque quieres acceder a lainstancia predeterminada deS#$ Server que )a&a en elequipo en el que se este,ecutando la aplicaci+n'
-
7/26/2019 Cadenas de Conexionf
10/21
s pre%eri"le usar >local?'
4om"requipo l nom"re del equipo en elque se est usando laaplicaci+n'
s pre%eri"le usar >local? paraque no in%lu&a el equipo en elque se e,ecute el programa'
4om"re/4S Un nom"re /4S es decir. unnom"re que despus@resolver@ una direcci+n I(.por e,emplo. el nom"re de unservidor deInternet; nom"re/ominio'com'
/irecci+nI( Una direcci+n I( en la queest el servidor de S#$ al quequeremos acceder. esto valepara servidores que estn enequipos remotos'(or de%ecto se utilizar elpuerto predeterminado; 1OO
/irecci+nI(. (uerto $a direcci+n I( del servidor deI( al que se acceder por elpuerto indicado'(or de%ecto el puerto de S#$
Server es el 1OO'ServidorS#$EInstancia
Si no queremos usar lainstancia predeterminada delservidor de S#$ Serverindicado >usando cualquierade los cuatro mtodosanteriores?. podemos indicarlodespus del nom"re delservidor separado con un \'(or e,emplo. en VisualStudio '4 >N00N & N00O? secrea una instancia llamada4S/L. para acceder a esainstanciausaremos; >local?\4S/L'n Visual Studio N00 se sueleinstalar el S#$ Server N00*press & se crea una
-
7/26/2019 Cadenas de Conexionf
11/21
instancia llamadaS#$6(2SS. para accedera las "ases de datos de esainstancia.usaremos; >local?\S#$6(2SS'
Fase/atos l nom"re de la "ase de datos de S#$ Server a la quequieres acceder >no la ta"la?
Usuario l nom"re del usuario de la "ase de datos a la quequieres acceder'
Contrasea l passord >o contrasea? del usuario indicado'
Cadena de cone*i+n con autenticaci+n de Bindos
(ara conectar a una "ase de datos de S#$ Server con autenticaci+n de Bindos.la cadena de cone*i+n ser;
/ata Source = ServidorS#$< Initial Catalog = Fase/atos< Integrated Securit& =rue
Cadena de cone*i+n con autenticaci+n de S#$ Server
(ara conectar a una "ase de datos de S#$ Server usando autenticaci+n delpropio S#$ Server. la cadena de cone*i+n ser;
data source = ServidorS#$< initial catalog = Fase/atos< user id = Usuario/4S? para indicar el nom"re del servidor de S#$ Server;
data source = ServidorS#$< initial catalog = Fase/atos< user id = UsuariosSel. sCnn?
da'9ill>dt?
Me'ridVie1'/ataSource = dt
Me'ridVie1'/ataFind>?
$a"elIn%o'e*t = String'9ormat>@otal datos en la ta"la; D0G@. dt'2os'Count?
Catc) e* 3s *ception
$a"elIn%o'e*t = @rror; @ ] e*'Message
nd r&
using S&stem'/ata?@4o se )a podido conectar al servidor@?
nd r&
(or [ltimo terminamos la gesti+n de errores. por si la cone*i+n no se realiza saleun mensa,e de error' 3s evitamos comportamientos inesperados'
Catc) e* 3s M&Sql*ception
MessageFo*'S)o>@4o se )a podido conectar al servidor@?
nd r&
l c+digo completo dentro del evento Clic: de"era quedar como este;
(rivate Su" FuttonNClic:>F&Val sender 3s S&stem'5",ect. F&Val e 3sS&stem'vent3rgs? andles FuttonN'Clic:
r&
cone*ion = 4e M&SqlConnection>?
cone*ion'ConnectionString = @server=@ ] Server*t'e*t ] @@Conectado al servidor@?
Catc) e* 3s M&Sql*ception
-
7/26/2019 Cadenas de Conexionf
18/21
MessageFo*'S)o>@4o se )a podido conectar al servidor@?
nd r&
nd Su"
Cadena de &one'()n de Jaa &on M5s6l
pac:age Cone*ion/F?
D
Connection cone*ion=null