LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

SQL openrow date format

I am triying (really triying) to access Citalde version 5 using SQL linked server option...
All is local, all is working o.k. BUT when I need in the query using the "WHERE" clause to access only the information in specific date I get a BIG error...
I have been triying a lot of combinations about date formats and SQL string characters but after 5 days I asking any help.
Basicaly the question is:
How to know wich date format I have to use to query Citadel Database 5 from SQL linked  server ODBC option?
 
This sentence work fine:
 
SELECT * FROM openquery(CITADEL_MACHINE42,
'SELECT Localtime, quality, "machine42/LabVIEW/Temporizador_Fase1R_P01" FROM RawData ' )
 
but with this sentence and anothers date constant formats:
 
SELECT * FROM openquery(CITADEL_MACHINE42,
'SELECT Localtime, quality, "machine42/LabVIEW/Temporizador_Fase1R_P01" FROM RawData where Localtime > 20050101')
 
I get this error:
 
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error. 
[OLE/DB provider returned message: [ATI][OpenRDA ODBC]Invalid Stmt. Incompatible expression value types in condition:11, 4.]
OLE DB error trace [OLE/DB Provider 'MSDASQL' ICommandPrepare::Prepare returned 0x80004005:   ].
 
Some times get messages about syntax error....
 
Thanks in advanced...
 
 
 
This is one
0 Kudos
Message 1 of 7
(4,184 Views)
Gilberto, recibimos tus mensajes tanto por parte de Igor, como por parte de Luis Barbosa. Con respecto a tu pregunta, te recomiendo que primero abras la base de datos en Citadel desde MAX o algun otro visualizador para que puedas identificar el formato correcto de la fecha y hora almacenado y asi poder hacer el "query" correctamente. Tambien te envio un enlace a otro foro de discusion relacionado a este tema para ver si te ayuda con tu aplicacion.
 
 
Saludos!
0 Kudos
Message 2 of 7
(4,159 Views)

hola. gracias por la respuesta. lei tu articulo pero lamentablemente no pude resolver. primero desde MAX no se donde ver el formato del campo local time de la tabla Rawdata. Hay solo que veo son las variables definidas. Si me dices como te lo agradeceria. El ejemplo que me envias habla de como accesar SQL desde un VI, yo estoy haciendo lo contrario, desde query estoy tratando de acceder informacion en la tabla Rawdata, te anexo dos imsgenes que muestran en la primera como funciona perfecto, pero en la segunda cuando trato de especificar con la clausula where un rango especifico para el local time tengo el error.

 

Imagen 1

 

 

Imagen 2

Yo lo preguntaria asi: ¿Que formato tiene el campo localtime, de la tabla rawdata, de una base de datos citadel versión 5? como hago para traerme solo los datos para un dia en especifico.

Nuevamente muchas gracias. por favor usa este email en tu respuesta gilbertodecampos@rualca.com.ve,

 

0 Kudos
Message 3 of 7
(4,131 Views)

No entendido bien desde que manejador de bases de datos esta utilizando el metodo de SQL linked server, pero creo que su duda sera aclarada al ver el siguiente tutorial en el que muestra como (apartir de comandos SQL) se accesan datos de una base de datos de Citadel 5 desde excel, en el cual podra observar como tomar los datos de la variable LocalTime usando el condicionador "WHERE" y el operdador lógico ">".

http://zone.ni.com/devzone/conceptd.nsf/webmain/54478E2A05D71CD986256F9D006B933E

Espero que esta información sea de tu ayuda!

Saludos,

Luis T.

0 Kudos
Message 4 of 7
(4,110 Views)

Como información extra, me gustaría que observaras como en los dos documentos que te hemos propuesto utilizan el condicionador WHERE, es decir, where localtime > 'hh:mm:ss'.

Por fecha debería de ser el siguiente formato  'aaaa-mm-dd'. Sin olvidar utilizar las comillas sencillas ('  ') despues de haber cerrado las comillas dobles ("  ").

Si esto no resuelve tu problema te voy a pedir que nos mandes más información sobre como haces el Query de la base de datos.

Saludos,

Luis T.

0 Kudos
Message 5 of 7
(4,106 Views)

auxilio!!!!

funciona en excel. auqneu cuando leo la sentencia SQL que genera el Wizard veo una función "ts" antes de la constante string usada para la fecha. Por supuesto esta función no sirve desde el Query Analizer.

funciona desde Query analizer usando un ciatdel linkeado hasta que trato de usar un where para la fecha. la idea es crear un DTS que exporte todos los dias la data del citadel a SQL.

las graficas anteriores muestran como funciona sin el where y el error con el where.

gracias por su atención.

 

0 Kudos
Message 6 of 7
(4,087 Views)
hola.
aleluya!!! buscando en internet descubri que tiene que ver con el manejo que le da SQL a una constante string que a su vez contiene el indicador de string( ' ). Anexo el query que funciona....
 
0 Kudos
Message 7 of 7
(4,047 Views)