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