Visual Basic.NET - Select incluye un campo con acento

   
Vista:

Select incluye un campo con acento

Publicado por Kti (5 intervenciones) el 06/08/2016 11:55:49
Buenas a tods,

Necesito acceder desde una aplicación que estoy creando en VB a una BDD de oracle, cuya tabla contiene un campo con acento 'DURACIÓN'. Éso no lo puedo cambiar ya que está implementada y en pleno funcionamiento hace años.

Mi problema es que al montar la consulta sql y conectar a la bdd se produce un error del tipo 'no se admite el tipo de datos'. Eliminando ése campo, todo bien, me rellena un excel sin problemas.

La misma consulta desde toad también es correcta.

Gracias anticipadas. :-)
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

Select incluye un campo con acento

Publicado por Miguel (354 intervenciones) el 06/08/2016 19:21:55
Hola, utiliza "SELECT * FROM tabla"; esto te traerá todos los campos/columnas de la tabla...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Select incluye un campo con acento

Publicado por Kti (5 intervenciones) el 07/08/2016 11:45:11
Gracias por el consejo Miguel, pero en un principio estaba así y tuve que cambiarlo ya que me daba el error:

Microsoft OLE DB Provider for Oracle. Tipo de error: -2147467259. Descripción: No se admite el tipo de datos.

Una vez lo quité funcionaba bien, salvo al incluir el campo 'DURACIÓN'
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

Select incluye un campo con acento

Publicado por Diego (29 intervenciones) el 07/08/2016 03:33:29
Hola el campo a incluir en la consulta podes escribirlo entre corchetes asi: [DURACIÓN]

Hilando un poco mas fino en tu problema, ¿como haces la conexion con la DB?, ¿que driver utilizas?, podrías pasarle como parametro extra charset=UTF-8 al momento de crear el objeto connection. Y después probar con la consulta que paso el amigo Miguel....

Saludos y +bytes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Select incluye un campo con acento

Publicado por Kti (5 intervenciones) el 07/08/2016 11:54:52
Hola Diego, gracias por tu aportación.

He probado los corchetes, pero tras la conexión tengo un:

[ERROR] Microsoft OLE DB Provider for Oracle. Tipo de error: -2147217900. Descripción: ORA-00936: missing expression

Como estoy en el trabajo voy a probar lo del unicode UTF-8.

Necesito el campo ya que se utiliza en unos cálculos que más tarde se mostrará en el excel.

SELECT ALARMA, ELEMENTO, DURACIÓN ,
EXTRACT(HOUR FROM DURACIÓN)*3600 +
EXTRACT(MINUTE FROM DURACIÓN)* 60 +
EXTRACT(SECOND FROM DURACIÓN) AS SEGUNDOS
FROM ALARMAS

Salu2
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

Select incluye un campo con acento

Publicado por Kti (5 intervenciones) el 07/08/2016 13:31:27
LA conexión se hace mediante ADODB y ya estaba todo creado cuando me llegó la tarea a mí.

No encuentro información de si se puede y dónde debería incluir la referencia a UTF-8 (que he utilizado en Php y xml), pero no en Oracle .

Tras la conexión muevo el resultado de la consulta a un recordset que luego utilizo para rellenar un informe en excel.

El problema es que la consulta no se realiza por el error que he comentado y que queda constancia en el .log

Con toad puedo hacer la consulta exactamente igual sin problemas. Ahora estoy indagando si es que debería incluir alguna referencia al proyecto que aún no tengo. Había trabajado con VB y Dbase, ahora se trata de investigar y confiar en que alguno de vosotrs me pueda iluminar.

Gracias!
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
Imágen de perfil de Wilfredo Patricio Castillo

Select incluye un campo con acento

Verifica si en Oracle puedes asignarle un alias al campo, con lo cual te podría quedar así:

1
2
3
4
5
SELECT ALARMA, ELEMENTO, DURACIÓN As Duracion ,
EXTRACT(HOUR FROM DURACIÓN)*3600 +
EXTRACT(MINUTE FROM DURACIÓN)* 60 +
EXTRACT(SECOND FROM DURACIÓN) AS SEGUNDOS
FROM ALARMAS

También pruebas con la variante

1
2
3
4
5
SELECT ALARMA, ELEMENTO,[DURACIÓN] As Duracion ,
EXTRACT(HOUR FROM DURACIÓN)*3600 +
EXTRACT(MINUTE FROM DURACIÓN)* 60 +
EXTRACT(SECOND FROM DURACIÓN) AS SEGUNDOS
FROM ALARMAS


Saludos cordiales,
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

Select incluye un campo con acento

Publicado por Kti (5 intervenciones) el 09/08/2016 10:46:04
Muchas gracias, pero ya había probado éso y tampoco me funciona.
En el primer caso: no se admite el tipo de datos
En el segundo: missing expression

No me rindo y sigo probando combinaciones, seguro que hay algún sistema, pero no doy con ello... :-(

Salu2
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