Acceso A Oracle desde página .asp

Estoy empezando a desarrollar una aplicación en ASP. Para ello tengo el Personal Web Server en Windows 98 y va perfecto, me cargo las páginas en el navegador y bien. Tengo Oracle 73 versión 2.5 (Personal Oracle 7 for Windows 95). En el Administrador de orígenes de datos ODBC me creo uno con nombre 'proyecto1' en DSN de Usuario y en DSN de Sistema. También me he creado una base de datos local y en el navegador de Oracle he creado un usuario CARLOS con PSW:CARLOS. En el Oracle ODBC Test hago un connect, selecciono el origen de datos 'proyecto1' y perfecto me pide usuario y password y me conecta. En User Tables me aparece una tabla que me he creado de prueba. Pues ahora bien ejecuto mi página .ASP que lo unico que va ha hacer es un INSERT en esta tabla de prueba para probar la conexión desde la ASP a Oracle. Para ello lo primero es abrir la conexión en la página ASP y pongo entre <% %>
Set Conn=Server.CreateObject ("ADODB.Connection")
Conn. Open "proyecto1"
Y me da el siguiente error en la Linea de Conn. Open:
Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'
[Oracle][ODBC Oracle Driver][Oracle OCI]ORA-01017: invalid username/password; logon denied.
/insertarprueba.asp, line 7
¿Estoy haciendo algo mal, que puede ser?
¿Necesito añadir algo más en la conexión?
5

5 respuestas

Respuesta
1
Aunque especifiques usuario y contraseña en el DSN debes volver a ponerla en el String de conexión, es decir, cuando llamas al DSN. La línea quedaría así.
Conn.Open "DSN=proyecto1; Uid=TuUserName;Pwd=TuPassword"
Donde proyecto1 es tu DSN...
Para mayor información, consulta la siguiente página y guardala en tu computador:
http://www.able-consulting.com/ADO_Conn.htm
Respuesta
1
Mi conocimientos de desarrollo con Oracle son casi nulos, pero vamos a intentarlo...
Pienso que la conexión debe enviar lo parámetros de userid y password, así validará el acceso, que es en particular el error que te esta dando..
strDSN = "FILEDSN=MiBaseDeDatos.dsn;uid=usuario;pwd=password"
strSQL = "SELECT FirstName, LastName FROM Customers WHERE LastName = 'Soto' "
Set rsCustomers = Server.CreateObject("ADODB.Recordset")
RsCustomers. Open strSQL, strDSN
Bueno pienso que así podrás conectarte!
Cualquier cosa me avisas
Respuesta
1
Al parecer está faltando que incluyas el nombre de usuario y la clave que lo puedes hacer de dos maneras:
La primera es al realizar la conexión:
Conn.Open "DSN=proyecto1" ';UID=usuario;PWD=clave;"
La otra es al definir el DSN de sistema, completar los campos con esos datos.
Suerte
Respuesta
1
Yo abro una conexión a un DSN de Access, y lo hago con la siguiente sintaxis:
Conexion.Open "DSN=NombreDSN;PWD=Password"
En el caso de las bases de datos sin contraseña simplemente no indico el parámetro password:
Conexion.Open "DSN=NombreDSN"
Eso sí, tengo una DSN de sistema, y no de usuario (no se si en tu caso al ser Orable va diferente o no, nunca he trabajado con ese sistema).
Aun así, en mi caso la contraseña es para el fichero MDB. No se si has trabajado con Access, pero permite proteger el fichero en si, al contrario que otras bases de datos que van por usuario, tipo SQL Server y Oracle por lo que veo.
Espero que te funcione lo que te indico, sino me comentas.
Respuesta
Debes añadir en la cadena de conexión la autentificación del usuario. En Oracle no sé, pero en SQL Server sería:
Conn.Open "dsn=proyecto1;uid=CARLOS;pwd=CARLOS"
Si en Oracle no es igual, debe ser muy parecido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas