Cadenas de Conexionf

download Cadenas de Conexionf

of 10

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