In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema con TMySqlDataSource...

Xailer professional forum in English
Responder
Mariano Filippi
Mensajes: 102
Registrado: Mar Ago 15, 2006 3:28 pm

Problema con TMySqlDataSource...

Mensaje por Mariano Filippi »

Hola...
Tengo un problema con el objeto Nativo TMySqlDataSource de la versión
Enterprise.
Cuando ejecuto una sentencia dentro del método :Query, no me devuelve el
"query deseado" desde la base de datos MySql, como lo hací­a cuando utilizaba
el TAdoDataSource.
paso a explicar un poco mejor para que se entienda.
Con un objeto TAdoDataSource, yo ejecuto lo siguiente:
oAdoDataSource:Query('Show Databases')
y el resultado es un TSqlQuery con la estructura siguiente (que es lo mismo
que obtenemos si ejecutamos la sentencia en la lí­nea de comandos de MySql)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
Pues, al ejecutar oSqlTable:=oMySqlDataSource:Query('Show Databases'), y
hacer oSqlTable:lOpen:=.T., da el siguiente error.
STRTRAN(0)
Error BASE/1126 Argument error: STRTRAN
Argumentos: ( [ 1] = Tipo: U Valor: NIL [ 2] = Tipo: C Valor:
[ 3] = Tipo: C Valor: )
***************************** Registro de errores
*****************************
Exe: C:XailerESamplesMasterISIPruebaSQLPruebaSQL.exe
Version: 1.0.0.0
User name: Boris-2010
Computer name: SERVER2008
Fecha: 05/13/11
Hora: 18:18:49
Memoria libre: 2061860
Area actual: 1
------------------------- Información del
compilador --------------------------
Versión Xailer: Xailer 2.3.0 Version 2.3.0
Compilador: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6511) PCode
Version: 10
Compilador C/C++: Borland C++ 5.5.1 (32 bit)
Plataforma: Windows Windows Vista Server 4.0 6.01.7600
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 1126
Estado: .F.
Descripción: Argument error
Operación: STRTRAN
Argumentos: [ 1] = Tipo: U Valor: NIL [ 2] = Tipo: C Valor:
[ 3] = Tipo: C Valor:
Fichero:
Código error SO: 0
Pila de llamadas:
STRTRAN (0)
TMYSQLRECORDS:OPEN (181)
TSQLQUERY:OPEN (320)
(b)XSQLQUERY:XDATASET (36)
TSQLQUERY:_LOPEN (0)
TFORM1:BUTTON1CLICK (35)
TBUTTON:ONCLICK (0)
TBUTTON:CLICK (100)
(b)XCONTROL:XCONTROL (147)
TBUTTON:COMMAND (0)
TSCROLLINGWINCONTROL:WMCOMMAND (276)
TFORM1:WMCOMMAND (934)
RUNFORM (0)
TAPPLICATION:RUN (275)
MAIN (15)
Si pruebo ejecutar otros comandos, en los que tenga involucrada una tabla
por ej: Show index from Tabla, asume que la sentencia es Select * from
Tabla, y me devuelve un resultado no deseado.
He probado con otros comandos, y parece ser que solo acepta sentencias
Select. (Aclaro que utilizo un monton de comandos para trabajar como Querys,
que no son precisamente sentencias Select).
Si estoy haciendo algo mal, agradezco la ayuda.
Desde ya muchas gracias.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9440
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Problema con TMySqlDataSource...

Mensaje por ignacio »

Mariano Filippi escribió el vie, 13 mayo 2011 23:20Hola...
Tengo un problema con el objeto Nativo TMySqlDataSource de la versión
Enterprise.
Cuando ejecuto una sentencia dentro del método :Query, no me devuelve el
"query deseado" desde la base de datos MySql, como lo hací­a cuando utilizaba
el TAdoDataSource.
paso a explicar un poco mejor para que se entienda.
Con un objeto TAdoDataSource, yo ejecuto lo siguiente:
oAdoDataSource:Query('Show Databases')
y el resultado es un TSqlQuery con la estructura siguiente (que es lo mismo
que obtenemos si ejecutamos la sentencia en la lí­nea de comandos de MySql)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
Pues, al ejecutar oSqlTable:=oMySqlDataSource:Query('Show Databases'), y
hacer oSqlTable:lOpen:=.T., da el siguiente error.
STRTRAN(0)
Error BASE/1126 Argument error: STRTRAN
Argumentos: ( [ 1] = Tipo: U Valor: NIL [ 2] = Tipo: C Valor:
[ 3] = Tipo: C Valor: )
***************************** Registro de errores
*****************************
Exe: C:XailerESamplesMasterISIPruebaSQLPruebaSQL.exe
Version: 1.0.0.0
User name: Boris-2010
Computer name: SERVER2008
Fecha: 05/13/11
Hora: 18:18:49
Memoria libre: 2061860
Area actual: 1
------------------------- Información del
compilador --------------------------
Versión Xailer: Xailer 2.3.0 Version 2.3.0
Compilador: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 6511) PCode
Version: 10
Compilador C/C++: Borland C++ 5.5.1 (32 bit)
Plataforma: Windows Windows Vista Server 4.0 6.01.7600
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 1126
Estado: .F.
Descripción: Argument error
Operación: STRTRAN
Argumentos: [ 1] = Tipo: U Valor: NIL [ 2] = Tipo: C Valor:
[ 3] = Tipo: C Valor:
Fichero:
Código error SO: 0
Pila de llamadas:
STRTRAN (0)
TMYSQLRECORDS:OPEN (181)
TSQLQUERY:OPEN (320)
(b)XSQLQUERY:XDATASET (36)
TSQLQUERY:_LOPEN (0)
TFORM1:BUTTON1CLICK (35)
TBUTTON:ONCLICK (0)
TBUTTON:CLICK (100)
(b)XCONTROL:XCONTROL (147)
TBUTTON:COMMAND (0)
TSCROLLINGWINCONTROL:WMCOMMAND (276)
TFORM1:WMCOMMAND (934)
RUNFORM (0)
TAPPLICATION:RUN (275)
MAIN (15)
Si pruebo ejecutar otros comandos, en los que tenga involucrada una tabla
por ej: Show index from Tabla, asume que la sentencia es Select * from
Tabla, y me devuelve un resultado no deseado.
He probado con otros comandos, y parece ser que solo acepta sentencias
Select. (Aclaro que utilizo un monton de comandos para trabajar como Querys,
que no son precisamente sentencias Select).
Si estoy haciendo algo mal, agradezco la ayuda.
Desde ya muchas gracias.
Analizaremos el problema para ver que puede estar pasando. No obstante le ruego que intente cualquiera de estas dos soluciones mientras tanto:
1) Utilice la instrucción QueryArray() ya que no va a realizar ninguna operación de edición sobre el resultado y con este tipo de consultas Xailer no hace ningún tipo de parsing en la cadena pasada
2) Utilice la siguiente instrucción para hacer sus queries:
SELECT * FROM (SHOW DATABASES)
Disculpe las molestias.
Un saludo
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Mariano Filippi
Mensajes: 102
Registrado: Mar Ago 15, 2006 3:28 pm

Problema con TMySqlDataSource...

Mensaje por Mariano Filippi »

Ok.. Ignacio... Gracias por responder.
Intentaré con la opción 2, ya que como tu dices, con un arreglo las
limitaciones son mayores.
Saludos cordiales.
"Ignacio Ortiz de Zúñiga" <nonametoavoidspam@xailer.com> escribió en
el mensaje de noticias:4dceb3ef$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Mariano Filippi escribió el vie, 13 mayo 2011 23:20
>> Hola...
>> Tengo un problema con el objeto Nativo TMySqlDataSource
>> de la versión Enterprise.
>>
>> Cuando ejecuto una sentencia dentro del método :Query,
>> no me devuelve el "query deseado" desde la base de datos MySql, como lo
>> hací­a cuando utilizaba el TAdoDataSource.
>>
>> paso a explicar un poco mejor para que se entienda.
>>
>> Con un objeto TAdoDataSource, yo ejecuto lo siguiente:
>>
>> oAdoDataSource:Query('Show Databases')
>>
>> y el resultado es un TSqlQuery con la estructura
>> siguiente (que es lo mismo que obtenemos si ejecutamos la sentencia en la
>> lí­nea de
>> comandos de MySql)
>>
>> +--------------------+
>> | Database |
>> +--------------------+
>> | information_schema |
>> | mysql |
>> | performance_schema |
>> | test |
>> +--------------------+
>>
>> Pues, al ejecutar
>> oSqlTable:=oMySqlDataSource:Query('Show Databases'), y hacer
>> oSqlTable:lOpen:=.T., da el siguiente error.
>>
>> STRTRAN(0)
>> Error BASE/1126 Argument error: STRTRAN
>> Argumentos: ( [ 1] = Tipo: U Valor: NIL [ 2] = Tipo: C
>> Valor:
>> [ 3] = Tipo: C Valor: )
>>
>>
>> ***************************** Registro de errores
>> *****************************
>>
>> Exe:
>> C:XailerESamplesMasterISIPruebaSQLPruebaSQL.exe
>> Version: 1.0.0.0
>> User name: Boris-2010
>> Computer name: SERVER2008
>> Fecha: 05/13/11
>> Hora: 18:18:49
>> Memoria libre: 2061860
>> Area actual: 1
>>
>> ------------------------- Información del
>> compilador --------------------------
>>
>> Versión Xailer: Xailer 2.3.0 Version 2.3.0
>> Compilador: xHarbour build 1.2.1 Intl. (SimpLex)
>> (Rev. 6511) PCode Version: 10
>> Compilador C/C++: Borland C++ 5.5.1 (32 bit)
>> Plataforma: Windows Windows Vista Server 4.0
>> 6.01.7600
>>
>> ----------------------- Información detallada del
>> error -----------------------
>>
>> Subsistema: BASE
>> Código de error: 1126
>> Estado: .F.
>> Descripción: Argument error
>> Operación: STRTRAN
>> Argumentos: [ 1] = Tipo: U Valor: NIL [ 2] =
>> Tipo: C Valor:
>> [ 3] = Tipo: C Valor:
>> Fichero:
>> Código error SO: 0
>>
>> Pila de llamadas:
>> STRTRAN (0)
>> TMYSQLRECORDS:OPEN (181)
>> TSQLQUERY:OPEN (320)
>> (b)XSQLQUERY:XDATASET (36)
>> TSQLQUERY:_LOPEN (0)
>> TFORM1:BUTTON1CLICK (35)
>> TBUTTON:ONCLICK (0)
>> TBUTTON:CLICK (100)
>> (b)XCONTROL:XCONTROL (147)
>> TBUTTON:COMMAND (0)
>> TSCROLLINGWINCONTROL:WMCOMMAND (276)
>> TFORM1:WMCOMMAND (934)
>> RUNFORM (0)
>> TAPPLICATION:RUN (275)
>> MAIN (15)
>>
>>
>> Si pruebo ejecutar otros comandos, en los que tenga
>> involucrada una tabla por ej: Show index from Tabla, asume que la
>> sentencia es
>> Select * from Tabla, y me devuelve un resultado no deseado.
>> He probado con otros comandos, y parece ser que solo
>> acepta sentencias Select. (Aclaro que utilizo un monton de comandos para
>> trabajar como Querys, que no son precisamente sentencias Select).
>>
>> Si estoy haciendo algo mal, agradezco la ayuda.
>>
>> Desde ya muchas gracias.
>
>
> Analizaremos el problema para ver que puede estar pasando.
> No obstante le ruego que intente cualquiera de estas dos
> soluciones mientras tanto:
>
> 1) Utilice la instrucción QueryArray() ya que no va a
> realizar ninguna operación de edición sobre el resultado y
> con este tipo de consultas Xailer no hace ningún tipo de
> parsing en la cadena pasada
>
> 2) Utilice la siguiente instrucción para hacer sus
> queries:
>
> SELECT * FROM (SHOW DATABASES)
>
> Disculpe las molestias.
>
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> [Equipo de Xailer/Xailer team]
> http://www.xailer.com
> http://www.xailer.info
Responder