Vous êtes sur la page 1sur 10

10/8/2015

ElODBCdeSQLServer

[Indice]

CmoseinstalaelODBCdeSQLServer?
CuandoseinstalaSQLServer6.5enunamquinaWindowsNT,elcontroladorODBCesinstalado
automticamente.SielservidorwebesunamquinadistintaalaquetieneSQLServerinstalado,tendrs
queconseguirelcontroladorODBCdeldiscodeinstalacindeSQLServer,obien,instalarAccess97,
aunqueespreferibleeloriginaldeSQL.

Creandounorigendedatos
Abrirelpaneldecontrolylocalizarel
iconollamado32bitODBC.Abrirlo.

Paso1.Enelcuadroque
aparece,seleccionarlaetiqueta
SystemDSN,yaqueelIDC
slotrabajaconestetipode
controladores.Pulsarelbotn
Add

https://www.uv.es/jac/guia/gestion/gestion5.htm

1/10

10/8/2015

ElODBCdeSQLServer

Paso2.Seleccionarel
controladordeSQL
Serverenlalista.Pulsar
elbotnFinalizar

Paso3.Aquesdonde
vamosacrearrealmente
elorigendedatosdela
aplicacin.
Analicemoscada
campo:elprimero,
Name,nospideel
nombredelorigende
datosquevamosa
crear,yqueserel
utilizadoporla
aplicacin.Sepuede
ponercualquier
nombre,sinespaciosen
blanconismbolos,slo
letrasynmeros,como
enelejemplo:pruebas.
Estenombrenotieneporquserelmismoqueeldelabasededatosquehayvinculadaal.Alfacilitar
estenombrealIDC,elODBCseencargardequelaaplicacin"entienda"loquedicelabasededatos.
Elsiguientecampo,Descriptionesunbrevecomentariodelorigendedatos,siteesnecesario,sino,
puedesdejarlovacio.
ElltimocampodeestapantallaesServer,yserefierealnombredelservidordebasesdedatos.Sino
ereseladministradordelservidordebasesdedatos,puedequenosepasquponer.Unservidor
WindowsNTconSQLServersecomportaenalgunoscasoscomosisetratasededosmquinas
distintas,aunqueenrealidadesunamisma.Dependiendodeaquservicioqueremosllegarseusaun
nombreuotro,aunquepodraserelmismoenamboscasos,peronoseescribendelamismaforma.
LasmquinasconsistemaWindowsNTo95/98sesuelenagruparenloquesedenominangruposde
https://www.uv.es/jac/guia/gestion/gestion5.htm

2/10

10/8/2015

ElODBCdeSQLServer

trabajo,quesonlosqueteapareceneneliconoEntornodereddelescritorio.Laformadereferenciar
unamquinadetumismogrupoesmediantesunombreenelgrupo.Supongamosqueelnombrede
nuestroservidoreninterneteselsiguiente:Mi_server.mi_empresa.mi_paisyquetieneasignadala
direccinIP255.255.255.255
Normalmente,estamquinaaparecerenelgrupocomoMI_serverysitequieresconectarasu
serviciodeimpresora,porejemplo,usarasladireccin:\\Mi_server\impresora.
Habitualmente,losadministradoresdeservidoresasignanalosservidoresdebasesdedatoselmismo
nombrequetienelamquinaenlaqueresiden,aunquepuedeocurrir,porrazonesespeciales,quenosea
as.SQLServer,pordefecto,adoptaelnombredelamquinaenelgrupocuandoseinstala,esdecir,
MI_server,perosepodrahaberutilizadootro.Deahpodrasurgirlaimpresindequesetratadedos
mquinasdiferentes.Fjatequeencualquiercaso,NOseutilizanlasdosbarrasinclinadasdelantedel
nombre.
Yunacosams:enlossistemasNT,noolvidarqueelusuariodefinidoparaaccederdesdeinternet,
exista,ademasdecomousuariodeNT,comousuariodelaDB,ytengalospermisosnecesariospara
llegaryoperarenella.SiSQLServersehainstaladoconlaTrustedsecurity,elusuarioypalabrade
pasoparaelservidorNTyparaSQLServertienenqueseriguales.Escomoabrirdospuertasconla
mismallave.
Unavezcumplimentadoslostrescampos,pulsaelbotnSiguiente

Paso4.Enestepasodefiniremoscmoseharlaverificacindelloginyelpasswordalconectarcon
SQLServer.
Evidentemente,laprimeradelasdosopciones,autenticacinNTusandoelloginentradoenlaconexin
dered,noeslgicaparaunaaplicacindeinternet,enqueelclienteutlizarunosparmetrosde
conexinasupropiaredoaninguna.Estapodraservirencasodequelaaplicacinseutiliceenuna
intranet,yquenotodoslosusuariostuviesenlosmismospermisos.Porlotantomarcaremoslasegunda
opcin:AutenticacinSQLServerusandounloginypassworddadosporelusuarioycuandodice
"...dadosporelusuario"noserefiereaqueelclientetengaquehacerestocuandoseconecte,sinoaque
elusuarioypasswordlostenemosqueproporcionarahora,enlosdosltimoscamposdelformulario,en
estecasoelusuarioeswebycomopalabradepasoenestecasonopondremosninguna(quetambines
unaformadepassword).
TantoenaplicacionesprogramadasconelIDCcomoconASP,losusuariosypasswordsutilizados,no
"viajan"conlainformacin.Recuerdaquesonprogramasqueseejecutanenelpropioservidor,yse
activanapeticindelIIS,queasuvez,atiendeunallamadahttpquelehaceelclientealservidorweb
conunusuarioannimo,ydespusdeprocesarlaconvenientemente,yderesolverinternamentelas
conexionesconlaDBqueseannecesarias,alclienteledevolvernhtmlestndarytransparente.Con
estoseevitaeltenerquefacilitaralosclientesclavesquepodransercapturadasenlared
indebidamente.
EsteusuarioannimoutilizadopordefectoenelIIS,normalmenteslotienepermisosdelecturaen
reasmuyconcretasdelservidorNT.Alasaplicacionesinternet,habitualmente,noselesdanunca
permisosparaborrarnada,lomximoquesuelenpoderhacer,esinsertarregistrosenlastablas,y
ocasionalmente,algunapequeamodificacindedatos,comopuedanserdomicilios,otelfonos.Siel
clientedeseaserborradodelabasededatos,normalmentelosolicitaraladministradordelaDB,que
procederdesdesuaplicacinenlaintranet.
https://www.uv.es/jac/guia/gestion/gestion5.htm

3/10

10/8/2015

ElODBCdeSQLServer

Nosedebeconfundir
estetipode
autenticacionesconlas
quesehacendesdeuna
pginaweb,quepuede
pedirnosunnombrede
usuario(login)yuna
clave(password).En
estoscasossetratade
directoriosprotegidos
enelpropioservidor
web,yconcretamente
conelIIS,estan
sencillocomoasignarel
directorioencuestina
unusuarioNTexistente.
Yesbuenaidea,puesto
queenestecasolaclave
siviaja,queestosusuariosslotenganpermisosdelectura,ysilainformacinquesevaaaccederes
confidencial,sedeberninstalarsistemasdeencriptacindelosquesoportanlamayoradenavegadores
modernos,outilizarsistemasmssofisticadosabasedecertificadoselectrnicos.
Cuandoseinstalaalgunapginaenunodeestosdirectoriosprotegidos,unproblemamuyhabitualque
suelentenerlosclientesqueutilizanelInternetExplorercomonavegador,consisteenque
sistemticamenterecibenunmensajedeerrordelservidor,denegandoelacceso.Estoesdebidoaque
pordefecto,elIEsiempreintentaconectarsealosservidoresenmodointranet,yportantoenvia
automticamentealservidorwebelusuarioyclavedeconexinaredlocal,queevidentemente,noson
losqueesperaelservidorinternet,provocandoelerrordeacceso.
Lasolucinconsisteenconfigurar,enelcliente,correctamenteelIEparaqueseconecteenmodo
internet,cosaquenotodoelmundosabehacer,obiencerrarlasesinderedlocalyabrirunanuevasin
conexin,conloqueelIEnopodrenviarnada,ypodremosintroducirlasclavescorrectascuandoel
servidorinternetlasdemande.EstonoocurreconNetscape,quesiempreinicialaconexinenmodo
internet(dehechonotieneotra).
YcontinuandoconnuestroODBC,elsiguientepasoserpulsarelbotnClientconfiguration.

Comosehadichomsarriba,elservidorSQL
vaatenerunnombreescritoenformatodered
Windows(Mi_Server),ycomoyadebesde
saber,todaslascomunicacionesentre
mquinaseninternetfuncionanconel
protocoloTCP/IP,queutilizaotraformade
referenciarlasdirecciones,quepuedensercon
elnombreproporcionadoportuDSN,o
sistemaderesolucindenombres,enlaforma
Mi_server.mi_empresa.mi_paisomediante
sudireccinIP,ennuestroejemplo
255.255.255.255
https://www.uv.es/jac/guia/gestion/gestion5.htm

4/10

10/8/2015

ElODBCdeSQLServer

Pararesolveresteproblema,SQLServerviene
provistodeunclienteespecialquese
encargardehacerlasconversionesde
nombrenecesariasentreunsistemayotro.
Enlaprimeradelastresvistasquetieneeste
paso,DBLibrary,seconfigurasiseaplicar
algunaconversindecaracteresono.La
conversindeANSIaOEM,sirvepara
cambiareljuegopordefectodeSQLServer.
Comoyadebesdesaber,SQLServerutilizael
juegodecaracteresANSIparaalmacenarlos
datos.Estejuegodecaracteresesdistintoal
OEMutilizadoporlossistemasWindows,de
modoquesiescribimosconnuestraaplicacin
internet,porejemplouna""ounaletra
acentuadaenlatabla,sinaplicaresta
conversin,serguardadaenequivalente
ANSI.SisepideeseregistroaSQLServer
desdesuconsoladecontrol,odesdealgun
cliente,comoIWSql,quesonANSI,nola
veremostalcual,sinouncaracterextrao.El
mismoregistro,solicitadomediantelamismaaplicacinqueloescribisevercorrectamente,ylo
mismoocurreconlasaplicacioneslocalesdesarrolladasparasistemasWindows,comoAccess97.
ComonoeshabitualexplotarlastablasdesdelaconsolaodesdeclientesSQL,espreferibledejaral
servidorutilizarsujuegopordefecto.Sihayquecambiarlo,haypensarloahora,yaquecuandoexistan
registrosenlastablas,sisecambia,sertrabajosoaplicarlaconversinatodosellos.

Lasiguientevista,NetLibrarycontieneun
campomuyimportante:laDefaultNetwork,
esdecireltipoderedpordefecto.Comoyase
hadicho,hayquetrabajarenTCP/IP.
Lostressiguientescamposselimitana
mostrarnosinformacindelalibreriadered
elegida:dndeest,cmovaamostrarlas
fechas(queconcideconlodefinidoenla
configuracinregionaldelamquina)yel
tamaodelamisma.

https://www.uv.es/jac/guia/gestion/gestion5.htm

5/10

10/8/2015

ElODBCdeSQLServer

Lasiguienteyltima,Advancedcontienetrescamposenlosquehayqueentrarlosparmetros
necesariosparaconvertirladireccintipoWindowsensuequivalenteIP,comosonServer,Network
ProtocolyConnectionString,quehayquecumplimentarcomopuedesverenlaimagen,conlos
valoresqueyaconocemos.
AcontinuacinpulsarelbotnAdd/Modifyparaqueaparezcalacorrespondientelneaenlaventana
CurrentEntries

Aqupuedesverlalneadeconexinya
compuesta.Situviesesmsdeunservidor
SQL,puedesrepetirelprocesotantasveces
comoseanecesario,parareferenciaratodos
ellosdelamismamanera.
Delamismaforma,sialgunodeelloscambiadenombreodeIP,slohayqueseleccionarlalnea
correspondienteypulsardenuevoalbotnAdd/Modifyparamodificarloqueproceda.
PulsarelbotnDoneparaconcluirlaconfiguracindelclienteSQLServerypasaralasiguiente
pantalladelODBC.

https://www.uv.es/jac/guia/gestion/gestion5.htm

6/10

10/8/2015

ElODBCdeSQLServer

Paso5.Enelpaso4sedefinialusuariowebparautilizarlabasededatosdelaaplicacin.Pero,que
ocurrirsielusuariowebtienepermisoparautilizarmsdeunabasededatos?Tambinsesuponeque
yasabesqueenSQLServer,cuandosedadealtaunusuario,esobligatorioasignarleunabasededatos
pordefecto,ylosadministradoressuelenasignarlaquenormalmentetienemsuso.
Sihabitualmenteutilizamoselusuariowebparalastransaccionesinternet,lonormalserquetenga
permisosenvariasbasesdedatos,yportantohabrquedefinirencadaODBCcualeslaDBpor
defecto.EstosehacemarcandolacasillaChangethedafaultdatabasetoyescogiendoacontinuacin
delalistaquehaydebajolaqueproceda.
Loqueapareceenesalistassonnombresdebasesdedatosynodeorgenesdedatosdefinidospara
ODBC,aunqueenestecasocoincidan.Enlaimagenpuedesvercmomarcarelresto.Fjateque,en
general,sesueledejaraSQLServerutilizarlosvaloresANSIparacasitodo.ProcuracrearlosODBC
siempreigual,teevitarsproblemasinesperados,ydudasdeltipo"..dndeestarfallando..?".
RecuerdaqueSQLServertrabajainternamenteconellenguajeSQLANSIqueincluyeungrannmero
defuncionesdetodotipoydesystemprocedures,oprocedimientosdesistema,autnticosprogramas
escritosenSQL,yconlosqueseadministraelservirdor,quetrabajanmalcondatosquenosean
compatiblesANSI.Siemprequehayaquehacerunatraslacinqueseafueradelastablas.

https://www.uv.es/jac/guia/gestion/gestion5.htm

7/10

10/8/2015

ElODBCdeSQLServer

Paso6.Elprimer
campodeestepaso
sirveparadefinirel
idiomaqueSQLServer
utilizarparaemitirlos
mensajesdeerror
cuandoalgono
funcionebien.Dado
quenohayversinen
espaoldeeste
producto,hayque
dejarlocomoest:
(Default),esdecir:
ingls.
Lossiguientessonalgo
parecidoalosquehay
enlaprimerapantalla
delpaso4:elprimeropermitealODBCelegirelmtododetraslacinelsegundoindicaquenosedebe
utilizarningnmtododetraslacineltercerofuerzalaconversindeljuegodecaracteres,peroen
lugardeANSIaOEMquesehacaenelpaso4,aquesdeOEMaANSIelcuartoesparautilizarun
conversorpropiodelODBC,quehaydedefinir,ynoeldeSQLServer.
Hayunagrandiferenciaentreestossistemasdetraslacinylosdelpaso4:Aqulatraslacinserealiza
despusdeextraereldatodelatablayantesdepresentarloenpantalla,esdecir,quesontraslaciones
sloaefectosdevisualizacinynoafectanalosdatos.Enelpaso4latraslacinsehaceantesde
guardareldatoenlatabla,ysafectanalosdatos.
Yporfinelltimocontrolsirveparadefinircmosepresentarnlasfechas,nmerosymonedasen
pantalla:sienformatoANSIosegnloespecificadoenlaconfiguracinregionaldelamquina
https://www.uv.es/jac/guia/gestion/gestion5.htm

8/10

10/8/2015

ElODBCdeSQLServer

PulsarelbotnSiguientedespusdehabermarcadoloqueproceda.

Paso7.Aquse
definenlosficherosde
logins,quesonunos
ficherosdetextodonde
SQLServeryelODBC
vanescribiendotodolo
quehacen,tantosi
acababiencomosino,
yquesonmuytiles
cuandohayproblemas,
yaquepermitenrastrear
todolosprocesos.
Convienemantenersus
nombres,yaqueson
utilizadosporalgunas
herramientasde
estadisticasy
rastreadoresdeerrores.
PuedequeseanecesariocambiarlaunidaddediscosinotequedamuchoespacioenlaunidadC(por
defecto),yaquecrecencontinuamente,yperidicamentesedebenvaciarlafrecuenciadepender
lgicamentedelaactividaddelservidor.
PulsarelbotnFinalizarparapasaralltimopaso.

Paso8.Enesteltimopaso,comopuedes
ver,nohayqueescribirnada.Nosmuestraun
resumendetodoslospasosanteriores,ynos
ofreceelbotnTestDataSourceparaprobar
sielorigendedatospuedefuncionarconlos
datosquelehemosproporcionado.Encaso
afirmativoshayquepulsarelbotnOKpara
termitarelproceso.Sifallalaprueba,habr
quevolveratrsyrevisarlosdatoshastaque
funcione.
Sielorigendedatosnofuncionadesdeaqu
nofuncionardesdeningunaparte.Sila
aplicacindaproblemas,yestetestfunciona
correctamente,elfallohayquebuscarloenla
aplicacin.Siunorigendedatosque
funcionabadejadehacerlo,elproblemapuede
estarenlared,oenelSQLServer.Revisarsi
elusuariotodaviaesvlidoparaesaDB,ysi
loes,sisemantienenlospermisosquetena.
Sitodoescorrecto,perosiguesinfuncionar,
lomejoresborrarloycrearunonuevo.LonicoquesepruebadesdeaquessielODBCpuedellegara
laDBconelusuariodefinidoenmodolectura,nosihaydatosenlaDB,osisepuedeescribirenella.
https://www.uv.es/jac/guia/gestion/gestion5.htm

9/10

10/8/2015

ElODBCdeSQLServer

YatenemoslistoelODBC.PulsarelbotnAceptarparacerrareladministradordeorgenesdedatos.
Enelcasodequehayaquecambiaralgunacosa,seseleccionaelorigendedatosqueprocedaysepulsa
elbotnConfigure.

[Indice]

https://www.uv.es/jac/guia/gestion/gestion5.htm

10/10

Vous aimerez peut-être aussi