Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Error conexion

Estas en el tema de Error conexion en el foro de SQL Server en Foros del Web. Buenas tardes, tengo una aplicación que tenia de motor base de datos Access y la migre a Sql server 2005, en el momento de hacer ...
  #1 (permalink)  
Antiguo 05/12/2009, 12:06
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Error conexion

Buenas tardes, tengo una aplicación que tenia de motor base de datos Access y la migre a Sql server 2005, en el momento de hacer una consulta en la aplicación me sale un error que me dice lo siguiente:
• Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
La función round requiere al menos entre 2 y 3 argumentos.
/evaluacion_BDSql/lp_tablerogestion.asp, línea 40

Me gustaría que por favor me colaboren a que se refiere
  #2 (permalink)  
Antiguo 06/12/2009, 09:23
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

Pues que en tu lp_tablerogestion.asp linea 40 estas llamando a la funcion round de SQL Server y sólo le estás pasando un parámetro.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 07/12/2009, 11:05
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Si me falta un parámetro de la función round ya me hace la consulta pero el siguiente error es el siguiente:
Tipo de error:
Error de compilación de Microsoft VBScript (0x800A03EA)
Error de sintaxis
/evaluacion_BDSql/lp_tablerogestion.asp, línea 36
Set rstDetalle = Cnn.Execute(sqlStr)
Es decir el código que tengo es el siguiente
sqlStr = " Select grado, round(avg(cie),0) as pcie, round(avg(mat),0) as pmat, round(avg(esp),0) as pesp, round(avg(soc),0) as psoc, round(avg(ing),0) as ping,round(avg(qui),0) as pqui,round(avg(fis),0) as pfis,round(avg(fil),0) as pfil, round(avg(def),0) as pdef " & _
" From Resultados " & _
" where 1=1 " & _
" and Resultados.codigo_Grupo = " & codigo_colegio & _
" and Resultados.anno = " & session("Anno") & _
" and Resultados.Prueba = " & codigo_prueba & _
" group by grado " & _

Set rstDetalle = Cnn.Execute(sqlStr)
  #4 (permalink)  
Antiguo 07/12/2009, 11:29
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

Tienes un & _ al final que está demás.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 09/12/2009, 08:59
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Buenos días, tengo la siguiente consulta que en Access me funciona perfecto pero en sql server 2005 me sale el siguiente error:
• Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
La función isnull requiere al menos 2 argumentos.
/evaluacion_BDSql/lp_reporteAcum.asp, línea 50

Me podrías colaborar
  #6 (permalink)  
Antiguo 09/12/2009, 08:59
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Select codigo_grupo, grado, estudiante, nombres, p_cie, p_mat, p_esp, p_soc, p_ing, p_ing, iif(IsNull(p_qui), 0, p_qui) as p_qui_, iif(IsNull(p_fis), 0, p_fis) as p_fis_,iif(IsNull(p_fil), 0, p_fil) as p_fil_, p_def From ( " & _
" Select estudiante.codigo_grupo,estudiante.grado,estudiant e.estudiante , nombres, avg(cie) as p_cie, avg(mat) as p_mat, avg(esp) as p_esp, avg(soc) as p_soc, avg(ing) as p_ing,avg(iif(qui=0,NULL,qui)) as p_qui, avg(iif(fis=0,Null,fis)) as p_fis, avg(iif(fil=0,Null, fil)) as p_fil, avg(def) as p_def " & _
" From Estudiante, Resultados " & _
" where 1=1 " & _
" and estudiante.codigo_Grupo = Resultados.Codigo_grupo " & _
" and estudiante.anno = Resultados.anno " & _
" and estudiante.grado = Resultados.Grado " & _
" and estudiante.estudiante = Resultados.estudiante " & _
" and estudiante.codigo_Grupo = " & codigo_colegio & _
" and estudiante.anno = " & session("Anno") & _
" and estudiante.grado = " & codigo_grado & _
" group by estudiante.codigo_grupo,estudiante.grado,estudiant e.estudiante , estudiante.nombres" & _
" ) order by " & col & " " & orden
  #7 (permalink)  
Antiguo 09/12/2009, 09:30
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Alguno podría decirme donde puedo encontrar una página que me diga las equivalencias de las consultas hechas en Access a sql server 2005
  #8 (permalink)  
Antiguo 09/12/2009, 09:37
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

Cambia iif(IsNull(p_fis), 0, p_fis) por IsNull(p_fis, 0).
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #9 (permalink)  
Antiguo 09/12/2009, 09:50
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Gracias, ahora si me lo tomo pero el error que me sale es Msg 102, Level 15, State 1, Line 8
Sintaxis incorrecta cerca de '='.
Pero con respecto a
avg(iif(qui=0,NULL,qui)) as p_qui
lo podria utilizar de la siguiente manera
avg(qui,NULL,) as p_qui
seria correcto
  #10 (permalink)  
Antiguo 09/12/2009, 10:10
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

no me funciono
  #11 (permalink)  
Antiguo 09/12/2009, 10:59
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

avg(case when qui=0 then NULL else qui end) as p_qui
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #12 (permalink)  
Antiguo 09/12/2009, 14:32
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Gracias, esa instrucción que me distes

avg(case when qui=0 then NULL else qui end) as p_qui

Sera igual a esta

AVG(ISNULL(qui,0))

Otra pregunta el order by no me lo quiere tomar me sale el siguiente error

Msg 156, Level 15, State 1, Line 22
Sintaxis incorrecta cerca de la palabra clave 'order'.

En si la consulta me muestra los resultados acumulados de los estuiantes que han presentado varias purebas por grados

Select codigo_grupo, grado, estudiante, nombres, p_cie, p_mat, p_esp, p_soc, p_ing, p_ing,
IsNull(p_qui,0) as p_qui_,
IsNull(p_fis,0) as p_fis_,
IsNull(p_fil,0) as p_fil_,
p_def
From ( Select estudiante.codigo_grupo,estudiante.grado,estudiant e.estudiante,
nombres, avg(cie) as p_cie, avg(mat) as p_mat, avg(esp) as p_esp, avg(soc) as p_soc,
avg(ing) as p_ing,avg(case when qui=0 then NULL else qui end) as p_qui,
avg(case when fis=0 then Null else fis end) as p_fis,
avg(case when fil=0 then Null else fil end) as p_fil, avg(def) as p_def
From Estudiante, Resultados
where 1=1
and estudiante.codigo_Grupo = Resultados.Codigo_grupo
and estudiante.anno = Resultados.anno
and estudiante.grado = Resultados.Grado
and estudiante.estudiante = Resultados.estudiante
and estudiante.codigo_Grupo = 100
and estudiante.anno = 2009
and estudiante.grado = 3
group by estudiante.codigo_grupo,estudiante.grado,estudiant e.estudiante,
estudiante.nombres )
order by " & col & " " & orden"
  #13 (permalink)  
Antiguo 09/12/2009, 15:04
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Teniendo en cuenta que quiero que me ordene por definitiva y de mayor a menor
  #14 (permalink)  
Antiguo 09/12/2009, 15:46
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

Cita:
Iniciado por lufetoma1 Ver Mensaje
Gracias, esa instrucción que me distes

avg(case when qui=0 then NULL else qui end) as p_qui

Sera igual a esta

AVG(ISNULL(qui,0))
No creo. En la primera, evaluas si qui es igual a cero; y en la segunda, si es nulo.

Si quieres que el ORDER BY sea variable, entonces tienes que usar SQL dinámico. Es decir, algo asi:
Código sql:
Ver original
  1. ...
  2. EXEC sp_executesql 'select ... order by ' + @columna + ' ' + @orden
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #15 (permalink)  
Antiguo 09/12/2009, 16:34
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

No te entiendo como así que sea variable yo tengo definido que col =14 orden = decs

order by " & col & " " & orden"
  #16 (permalink)  
Antiguo 09/12/2009, 17:26
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

Ah, tú tienes el código sql dentro de tu lenguaje de programacion. Esa es una mala práctica.
En ese caso, veo que tienes una comilla al final que esta demas.
Ojo que el orden es ASC o DESC.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #17 (permalink)  
Antiguo 10/12/2009, 07:21
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Buenos días, si yo tengo el código SQL dentro del lenguaje de programación ASP; que me recomendaría, y nada que me funciona lo del order by ; yo pruebo las consultas en el motor de base de datos primero SQL server 2005; por favor colabóreme con eso, que podrá ser
  #18 (permalink)  
Antiguo 10/12/2009, 07:52
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

Lo que yo hago en esos casos es mostrar la cadena sql en el html.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #19 (permalink)  
Antiguo 10/12/2009, 08:17
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Lo que es el order by, group by cuando tengo una consulta dentro de otra consulta es decir select *from (select….from..) es cuando me presenta el error de sintasis incorrecta dentro la palabra clave group o order
  #20 (permalink)  
Antiguo 10/12/2009, 08:44
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

OK, no me di cuenta que tenías una subconsulta.
Tienes que poner un nombre a tu subconsulta, algo asi:
Código sql:
Ver original
  1. SELECT *
  2. FROM (SELECT ...) AS T
Aunque yo no uso AS.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #21 (permalink)  
Antiguo 10/12/2009, 09:14
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Correcto muchas gracias me funciono
  #22 (permalink)  
Antiguo 10/12/2009, 13:49
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Buenas tardes, como podría utilizar el case when en esta consulta; lo que hace la consulta Para cada grado del colegio, Lista su promedio y lo compara con respecto al promedio nacional

select Nacional.grado, round(avg(PorcentajeNal),2) as PromNal,
round(avg(PorcentajeCol),2) as PromCol,
iif(avg(PorcentajeNal) >avg( PorcentajeCol),"Inferior " & Round(100*( avg(PorcentajeNal) - avg(PorcentajeCol))/ avg(PorcentajeNal)) & "%", "Superior " & Round(100* (avg(PorcentajeCol)-avg( PorcentajeNal))/ avg(PorcentajeNal)) & "%") AS Estado
From
(

SELECT…..
  #23 (permalink)  
Antiguo 10/12/2009, 15:22
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

No te parece que ya es hora de abrir un nuevo post?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #24 (permalink)  
Antiguo 10/12/2009, 16:59
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Error conexion

O que contrate tus servicios, no?
  #25 (permalink)  
Antiguo 11/12/2009, 08:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error conexion

Buenos días Flaviovich, no sé si te molesta que te haga tantas preguntas, la verdad yo estoy en proceso de aprendizaje con respecto Sql Server 2005y próxima mente en programación .net y tu ayuda me ha sido muy útil, pues la verdad no me gusto el comentario de hace iisla, te gradezco mucho tu ayuda
gracias
  #26 (permalink)  
Antiguo 11/12/2009, 08:30
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Error conexion

Como te dije mas arriba, tienes que crear un post por cada tema nuevo.
Y te sugiero primero buscar en google, asi no repetimos los post.
Ya no voy a responder en este hilo porque lo considero cerrado.
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #27 (permalink)  
Antiguo 11/12/2009, 12:45
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Error conexion

Es correcto:

1 post por cada duda,
utilizar la herramienta de busqueda,
visitar SAN GOOGLE

Siento mucho mi comentario.....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:04.