SQL seRVER 2000

andres
11 de Noviembre del 2003
hola amigos...finalemente pude crear una base de datos sql server....

pero ahora me nacen otras (peque帽as dudas)

tengo una archivo en asp y no se porquè no me conecta...

actualmente tengo instalado windows 2000 y sql server 2000

primero me conecto a SQL Server con ODBC con DSN

y realizo los siguientes pasos:

1) Ejecutar el administrador de datos ODBC, dentro del panel de control.

2) Una vez adentro seleccionar DNS de Sistema o System DNS.

3) Presionar Agregar o Add, seleccionar SQL Server Driver y presionar Fin o Finish.

4) Ingresar un nombre (por ejemplo; pruebas) y una descripci贸n, y despu茅s seleccionar el Servidor o Server, al c煤al se necesita conectar.

lo que me da como resultado lo siguiente :

************************************************************************************
Controlador ODBC de Microsoft SQL Server Versi贸n 03.80.0194
Nombre del origen de datos: pruebas
Descripci贸n del origen de datos:
Server: p-iii2
Base de datos: pubs
Idioma: (Default)
Traducir datos de texto: Yes
Registrar consultas de larga ejecuci贸n: No
Estad铆sticas del controlador de registro: No
Usar seguridad integrada: Yes
Usar configuraci贸n regional: No
Opci贸n de instrucciones preparadas: Eliminar procedimientos temporales al desconectar
Usar servidor de conmutaci贸n por error: No
Usar identificadores entrecomillados ANSI: Yes
Usar nulos, rellenos y advertencias ANSI: Yes
Cifrado de datos: No
***************************************************************************************

luego pruebo el origen de datos y me sale lo siguiente:
****************************
Controlador ODBC de Microsoft SQL Server Versi贸n 03.80.0194

Ejecutando las pruebas de conectividad...

Intentando la conexi贸n
Conexi贸n establecida
Comprobando las opciones
Desconectando del servidor

PRUEBAS COMPLETADAS CORRECTAMENTE
*****************************

lo que me lleva a pensar que todo salio oK


...luego creo el archivo en asp para conectarme ala base de datos sql server 2000

su contenido es el siguiente:

<%

'sa= nombre de usuario al inicial el sistema windows 2000
'secrret= palabra secreta que ingreso al momento de iniciar windows 2000
sa="Administrador"
secret="q"

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "DNS=pruebas;UID=sa;PWD=secret;DATABASE=Pubs"
%>


lo ejecuto y me aparece el siguiente errorr:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especific贸 ning煤n controlador predeterminado
/w/Default.asp, line 9


porque? si el nombre de origen de datos "prueba" ya esta definido .....


o mejor seria que me dieran un ejemplo sin DSN....

en internet esta lleno de eso pero no me resulta ninguno....



de ante mano muchas gracias






nota:estoy trabajando con windows 2000 y sql server 2000 e IIS













NANO
11 de Noviembre del 2003
Que tal vi tu problema, pero la palabra es DSN y no DNS como lo tienes en el codigo,.

tomas
11 de Noviembre del 2003
yo tambien tengo el mismo problema el mensaje que me sale es este
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
[Microsoft][ODBC SQL Server Driver][SQL Server]Error de inicio de sesi贸n del usuario 'tjaramillo'. Motivo: no est谩 asociado a una conexi贸n de SQL Server de confianza.
/Default.asp, line 5

juan
11 de Noviembre del 2003
yo ando con el mismo problema, pero algo he encontrado en http://www.historico.org/message.php/list/aspbrasil/id/5619

webJose
11 de Noviembre del 2003
Hay unos cuantos errores en la instrucci贸n open. Deber铆a ser as铆:

Con.Open "DSN=pruebas;UID=" & sa & ";PWD=" & secret & ";DATABASE=Pubs"

Adem谩s, creo que en vez de "DATABASE" se utiliza "Catalog".

Salvador Suazo
11 de Noviembre del 2003
que tal ......yo hice algo asi asp y SQLserver a modo de prueba, desarrolle una componete(com++) en visual basic con la cual gestione la conexion a SqlServer, escribe a mi correo y te mando todo mi codigo

abraham
11 de Noviembre del 2003
la verdad no he programado es asp pero para mi le falta esto:

cuando haces el open

"provider=" y el dirver para sql server...

intentalo

ABRAHAM
11 de Noviembre del 2003
PERDON POR LO ANTERIOR NO LEI BIEN, PERO ENCONTRE ESTE EJEMPLO EN UN MANUAL ESPERO Y LES SIRVA:

4.1. Declarar el driver de base de datos
Sin duda alguna, lo m谩s importante que hay que saber respecto al manejo de bases
de datos en ASP (presupuestos unos ligeros conocimientos en SQL y Access), es la
inicializaci贸n del driver de base de datos. Existen dos maneras de hacerlo, a saber:
La primera consiste en declarar un DSN de Sistema a trav茅s de ODBC. Para ello
iremos al bot贸n Inicio de nuestro sistema Windows, y desde all铆 a la opci贸n
Configuraci贸n y despu茅s a Panel de Control. En la ventana que aparece debemos
dirigirnos a ODBC (o a ODBC de 32 bits, seg煤n el sistema), y se nos abrir谩 una nueva
ventana con una serie de solapas. Nos vamos a DSN de sistema.
En este punto vamos a a帽adir nuestro nuevo DSN para la base de datos que
queremos tratar. Para ello seleccionamos en bot贸n Agregar. Se abre una ventana que
lleva por t铆tulo Crear un nuevo origen de datos en el que se nos muestran los drivers
de base de datos disponibles en nuestro sistema. Seleccionamos el deseado, en
nuestro caso Microsoft Access Driver y pulsamos Finalizar.
Hecho esto se abre una nueva ventana, de nombre ODBC Microsoft Access 97 Setup.
En el campo Data Source Name debemos escribir el identificador que emplearemos
para la base de datos (si por ejemplo se trata de una base de datos de libros cuyo
archivo se llama biblio.mdb, podr铆amos llamarla libros). Luego presionamos el bot贸n
Select para seleccionar el archivo de base de datos dentro de la jerarqu铆a de
directorios del sistema, y tras esto pulsamos Ok. Y ya podremos hacer referencia a
ese origen de datos desde nuestras p谩ginas.

Esta primera opci贸n es muy r谩pida de configurara, sin embargo, es muy frecuente
desarrollar las p谩ginas en una m谩quina y ponerlas en otra (un servidor propiamente
dicho), por lo que resulta lioso tener un DSN para cada base de datos del sistema.
La segunda es un poco m谩s pesada, por el hecho de que hay que incluir una serie de
l铆neas de c贸digo en cada p谩gina que haga uso de la base de datos, pero es mucho
m谩s flexible, puesto que si cambiamos de sistema, no debemos crear un nuevo DSN.
La declaraci贸n del driver debe hacerse antes de que se escriba algo en el documento

http://www.cybercursos.net
P谩gina 16
HTML de salida, y es tan simple como esto:

<%@ LANGUAGE="VBScript" %>
<%
' Declaramos el objeto de conexi贸n a la base de datos
Set ConexionBD =
Server.CreateObject("ADOdb.Connection")
' Abrimos el objeto con el driver espec铆fico
ConexionBD.Open "DRIVER={Microsoft Access Driver
(*.mdb)}; " & "DBQ=" & Server.Mappath("/ruta/bd.mdb")
%>
<HTML>
...
Vemos que en la sentencia ConexionBD.Open, en la parte DBQ=" tenemos lo siguiente
Server.Mappath(), que es una variable que devuelve la ruta local del directorio ra铆z
del servidor Web, y el par谩metro que le pasamos hace referencia a la situaci贸n de la
base de datos dentro de la jerarqu铆a del servidor. Veamos el siguiente ejemplo.
Si tenemos nuestro servidor Web (http://127.0.0.1 贸 localhost) en un directorio del
sistema denominado C:Inetpub, y nuestra base de datos estar谩 en
C:Inetpubbibliotecalibros.mdb, en Server.Mappath deberemos indicar lo siguiente:
...
ConexionBD.Open "DRIVER={Microsoft Access Driver
(*.mdb)}; " & "DBQ=" &
Server.Mappath("/biblioteca/libros.mdb")
...
Atenci贸n, cuando nos referimos al sistema de directorios local utilizamos la barra ()
para separar los directorios, pero cuando hacemos referencia al servidor, se separan
con el otro tipo de barra (/).
Con esto hemos cumplido con el primer paso, definir el driver para utilizar la base de
datos, pero todav铆a no podemos realizar ninguna consulta ni modificaci贸n. Para ello
tenemos que definir lo que en Basic se conoce como RecordSet, que no es m谩s que
una agrupaci贸n l贸gica de registros (algo parecido a una variable de tabla l贸gica).

peekay666
11 de Noviembre del 2003
Sip, a mi me pasa lo mismo, tengo un servidor apache con php y queria acceder a una base de datos acces, pero no hay forma, me da el mismo tipo de error que a ti. La verdad esq no tenemos ni idea de porq pasa pero he oido que cambiando el driver en la dns por Driver do microsoft access funcionar谩. Nose, a mi no me va pero si consigues algo agradeceria un mail 8)

ANGE
11 de Noviembre del 2003
YO TENGO VARIAS CONEXIONES FUNCIONANDO CON LAS MISMAS CARACTERISTICAS DE TUS SISTEMAS OPERATIVOS SI NO HAS PODIDO HACER FUNCIONAR TU PROGRAMA AVISAME Y TE AYUDO CON MUCHO GUSTO, MI DIRECCION ES [email protected]

karina
11 de Noviembre del 2003
hola estuve checando tu problema yo tengo un probrema parecido lo que pasa es que tealize una pagina en php utilizando sql server para extraer datos de una base de datos, utilizo tambien el windows 98 y el ODBC. realiza todo lo que quiero si me puedo conectar bueno realiza todo bien pero ahora quiero utilizarlo en un servidor de con windows NT y pues no me lo acepta me arroja el mismo tipo de errror que el tuyo.

yo se que tu correo es del 4 de septiembre del 2002 pero me interesaria mucho si encontraste como solucionar ese error te lo agradeceria muchisimo.

atte: karina espinoza

Jordan
11 de Noviembre del 2003
Con.Open "DNS=pruebas;UID=sa;PWD=secret;DATABASE=Pubs"

Le estas pasando las variables como texto de la cadena, con lo que usa UID="sa" y PWD="secret"
debes poner

Con.Open "DNS=pruebas;UID="+sa+";PWD="+secret+";DATABASE=Pubs"

Lo que ahora no estoy seguro si es + o & depende del lenguaje.

e K s !
11 de Noviembre del 2003
Tenia la misma problematica en una maquina con XP y algunas veces con otras en 2K, pero probe la solucion de <<chikit-sv>> y me soluciono de maravilla. He aqui el codigo de como lo utilizo:

Esto lo pongo en un archivo que se llama BaseDatos.ASP:

<%
Dim MM_BaseDatos_STRING
MM_BaseDatos_STRING = "Driver={SQL Server};Description=sqlserver;SERVER=(local);UID=adivina;PWD=;DATABASE=BD_Prueba"
%>

y asi lo aplico a mis demas ASP's:

<!--#include file="Connections/BaseDatos.asp" -->
<%
Response.Buffer=True
Dim Accion, vUsuario, vpassword
vUsuario = Request.Form("Usuario")
vpassword= Request.Form("contrasena")

Accion= Request.QueryString("A")
If Accion= "C" then 'viene con el submit

Dim oConn, sql, rs
set oConn=Server.CreateObject("ADODB.Connection")
set rsUsuario=Server.CreateObject("ADODB.Recordset")
oConn.Open MM_BaseDatos_STRING '"DSN=sasnet_desarrollo;UID=sas;PWD="
if vusuario="" or vpassword="" then
response.redirect("login.asp")
end if
sSql = "Select * From Usuario INNER JOIN Usuario_Comple ON Usuario.Id_Usuario = Usuario_Comple.Id_Usuario WHERE Usuario.Id_Usuario='"+vUsuario+"' AND Usuario.Contrase帽a='"+vPassword+"'"
rsUsuario.Open ssql,oconn,3,3

If rsUsuario.Recordcount > 0 then 'Autorizado
session("Acceso") = True
session("Usuario")= vUsuario
session("Nombre")= rsUsuario("Nom_Usuario")
response.redirect("menu.asp")
'response.Write("con acceso")
else
session("Usuario")= ""
session("Nombre")= ""
session("Acceso") = False
' response.Write("No entrar")
end if

Else 'muestro el formulario
%>

<html>
<head>
<title>Login</title>
:
:
</html>
<%end if%>


Osea que, agregando la linea:
<!--#include file="BaseDatos.asp" -->

puedo utilizar esa variable para todas las paginas, si por algun motivo se cambia el pasword o nombre de la BD, simplemente lo cambio en <BaseDatos.asp> y listo.

Espero les ayude.
Saludos