ASP - prametrizar consulta sql para oracle

 
Vista:

prametrizar consulta sql para oracle

Publicado por josu (4 intervenciones) el 07/07/2006 12:04:19
hola,

quisiera saber como se parametriza una consulta sql en asp para bases de datos oracle,
e estado buscamdo en internet y solo me salian paginas para sp.net.

si alguien me pudiera indicar alguna pagina donde se explica como hacerlo o que tenga algun pequeño ejemplo se lo agrdeceria mucho.

un saludo y gracias antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:prametrizar consulta sql para oracle

Publicado por MarMed (30 intervenciones) el 10/07/2006 15:19:37
El tema de parametrizar consultas sql no depende del motor de base de datos...
La parametrizacion la podes hacer desde asp, "tocando" la cadena sql que le pasas al recordset....

Por ejemplo:

'Creas los objetos
Set Con = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
'Abris la conexion, pasandole la cadena de conexion
Con.Open ConnectionString
'Abris el recordset, pansadole una consulta sql
SQLString="select * from tabla where empleado=" & txtEmpleado.text
Rs.Open SQLString,Con
...
...
...

'Cierra los objetos
RS.Close
Set RS = Nothing
Con.Close
Set Con = Nothing

Si no entendes no dudes en escribirme por aca o por mail...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por josu (4 intervenciones) el 11/07/2006 08:43:29
lo primero darte las gracias por tu interes en mi problema.

e probado lo que me digiste y me da error te pongo aqui lo que estoy haciendo e igual puedes ver que es lo que me falla:

oCon = CreateObject("ADODB.Connection") DSNTest="Provider=MSDAORA.1;Password=psw;User ID=id;DataSource=ruta"
oCon.open (DSNtest)
oRec = CreateObject("ADODB.Recordset")
dni=14560721
sql="SELECT * FROM PERSONAL WHERE PERSONA="&dni
oRec.Open (sql,oCon) '
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por josu (4 intervenciones) el 11/07/2006 08:47:51
ups! sin querer le e dado al return y no habia puesto el error que me daba perdon.

el error que me da es el siguiente:

ORA-00933: SQL command not properly ended

si tienes un momento para echarle un vistazo y ver en que me equivoco te lo agradeceria mucho.

un saludo y gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por MarMed (30 intervenciones) el 11/07/2006 20:18:47
No vi que mandaste el error.. perdon
Ahora veo que peude ser...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por MarMed (30 intervenciones) el 11/07/2006 20:22:27
Por la web encontre esto, fijate si te sirve:

http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=215
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por MarMed (30 intervenciones) el 11/07/2006 20:18:09
Decime cual es el error...
Pueden ser muchas cosas, por ejemplo:
sql="SELECT * FROM PERSONAL WHERE PERSONA="&dni
En esa linea, al final, no va PERSONA="&dni sino PERSONA=" & dni , CON ESPACIOS (creo, al menos VB da error con eso, no me acuerdo si asp...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por MarMed (30 intervenciones) el 11/07/2006 20:21:30
Mira, proba primero la conexion, sin la ejecucion de la consulta...
Asi descartamos problemas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por josu (4 intervenciones) el 12/07/2006 18:19:18
ya habia mirado la pagina que me as indicado pero la version que usa la empresa de oracle es la 8.1.7 y entonces la solucion esa no funciona de todas formas e mirau como se hacia poero yo no tengo el driver que dice, puede que sea por que me falta algo por instalar que no se?

tambien me as dicho que mire si la conexion funciona la conexion funciona muy bien de echo primero ago las pruebas sin parametrizar la sql con dni puesto con numeros sin ser una variable y cuando la sql me funcionaba bien es cuando probe a parametrizarla. tambien e probado poner con espacios pero nada.

buscando por internet encontre otra posible forma pero esta tampoco me funciona :-(. de todas formas te la pongo aqui igual tu la as vsto otra vez y veas en que me equivoco:

oCon = CreateObject("ADODB.Connection") DSNTest="Provider=MSDAORA.1;Password=psw;User ID=id;DataSource=ruta"
oCon.open (DSNtest)
oRec = CreateObject("ADODB.Recordset")
oCom = CreateObject("ADODB.Command")
dni=14560721
oCom.CommandType = adCmdStoredProc
oCom.ActiveConnection = oCon
oCom.CommandText="SELECT * FROM PERSONAL WHERE PERSONA= ? "
prueba=oCom.CreateParameter("prueba",adInteger, adParamInput, ,)
prueba.value=dni
oCom.Parameters.Append(prueba)
oCom.Prepared = True
oRec = oCom.Execute

esta forma me resulto interesante por que yo realmente programo en asp.net y aqui tambien para oracle se usa la interrogante, lo unico que en asp directamente no habia programado nunca yo se hacerlo con visual basic, pero estaba equivocado y esta forma no funciona me dice que tengo que declarar las variables adInteger, adParamInput, adCmdStoredProc pero esto no son variables si no tipos de datos, pero e probado a declararlos y me da este error:
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.

yo no se que puede ser lo que estoy haciendo mal pero siguo pensando que me falta algo por instalar, si le puedes echar un vistazo te lo agradeceria mucho.

un saludo y de veras que te agrdezco mucho lo que estas haciendo para ayudarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:prametrizar consulta sql para oracle

Publicado por MarMed (30 intervenciones) el 12/07/2006 20:45:23
Si la conexion anda bien, y el problema esta al ejecutar la consulta (ya sea con un recordset o con un command), el problema debe andar por la consulta... Aunque no le veo problemas...
Verificaste los tipos de datos?
Si no, tal vez, puede ser que tengas que instalarte algo..
Por experiencia propia, creo que ASP y Oracle se llevan muy mal, pero, tenemos que usarlo asi... jajaj...
Y no me agradezcas tanto que todavia no anda...
Me alegra ayudar, y ademas siempre se aprende mucho...
Mucha suerte y nos seguimos escribiendo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar