Pregunta sobre FW_OpenAdoConnection
- jose_murugosa
- Posts: 1185
- Joined: Mon Feb 06, 2006 4:28 pm
- Location: Uruguay
- Contact:
Pregunta sobre FW_OpenAdoConnection
De acuerdo con la documentación, si la entiendo bien si yo quisiera abrir una conexión a una base Mysql, MSSql u Oracle, bastaría con escribir:
oCn2 := FW_OpenADOConnection( "MSSQL,192.168.120.206,Sarubbi,sa,Came0303", .t. )
xBrowse( oCn2 ) //para ver el objeto conexión
Pero cuando intento verr esta conexión recibo este error:
Time from start: 0 hours 0 mins 14 secs
Error occurred at: 05/10/2022, 10:09:54
Error description: (DOS Error -2147352567) WINOLE/1007 Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros. (0x800A0BB9): ADODB.Connection
Args:
[ 1] = C TLINKLIST
Stack Calls
===========
Called from: => TOLEAUTO:ISKINDOF( 0 )
Called from: .\source\function\XBROWSER.PRG => XBROWSE( 101 )
Called from: d:\xbase-proyectos\rendimiento-servicios\source\Cargocajas.prg => CARGOCAJAS( 31 )
Called from: d:\xbase-proyectos\rendimiento-servicios\source\Procesosws.prg => PROCESOSDEWS( 33 )
Called from: d:\xbase-proyectos\rendimiento-servicios\source\Main.prg => MAIN( 40 )
¿Qué puedo estar haciendo mal?
Gracias desde ya por vuestra ayuda.
oCn2 := FW_OpenADOConnection( "MSSQL,192.168.120.206,Sarubbi,sa,Came0303", .t. )
xBrowse( oCn2 ) //para ver el objeto conexión
Pero cuando intento verr esta conexión recibo este error:
Time from start: 0 hours 0 mins 14 secs
Error occurred at: 05/10/2022, 10:09:54
Error description: (DOS Error -2147352567) WINOLE/1007 Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros. (0x800A0BB9): ADODB.Connection
Args:
[ 1] = C TLINKLIST
Stack Calls
===========
Called from: => TOLEAUTO:ISKINDOF( 0 )
Called from: .\source\function\XBROWSER.PRG => XBROWSE( 101 )
Called from: d:\xbase-proyectos\rendimiento-servicios\source\Cargocajas.prg => CARGOCAJAS( 31 )
Called from: d:\xbase-proyectos\rendimiento-servicios\source\Procesosws.prg => PROCESOSDEWS( 33 )
Called from: d:\xbase-proyectos\rendimiento-servicios\source\Main.prg => MAIN( 40 )
¿Qué puedo estar haciendo mal?
Gracias desde ya por vuestra ayuda.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
-
- Posts: 768
- Joined: Sun Jun 15, 2008 7:47 pm
- Location: Sevilla
- Been thanked: 5 times
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
Hola José mira aquí la cadena de conexión apropiada:
https://www.connectionstrings.com/
https://www.connectionstrings.com/
______________________________________________________________________________
Sevilla - Andalucía
Sevilla - Andalucía
- leandro
- Posts: 1744
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 34 times
- Been thanked: 10 times
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
A nosotros nos funciona de la siguiente manera:
Code: Select all | Expand
oCnEmp := FW_OpenAdoConnection( "Driver={MySQL ODBC 3.51 Driver};Server=127.0.0.1;Port=3306;User=root;Password=tucontrasema;" )
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
Re: Pregunta sobre FW_OpenAdoConnection
Hola, me parece que los parámetros deberían ser de esta manera
Saludos
Code: Select all | Expand
oCn2 := FW_OpenADOConnection( { "MSSQL","192.168.120.206","Sarubbi","sa","Came0303" }, .t. )
Saludos
- jose_murugosa
- Posts: 1185
- Joined: Mon Feb 06, 2006 4:28 pm
- Location: Uruguay
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
Gracias xManuel, Leandor y Horacio, he probado 2 modos de conexión sin éxito.
Adjunto el código del prg y la respuesta según la sintaxis utilizada.
Código:
FUNCTION Main()
LOCAL oCn2, oRs2, cSql, oErr
oCn2 := FW_OpenADOConnection( { "MSSQL", "192.168.120.206", "SarubbiAlba", "sa", "Came0303" }, .t., oErr )
xBrowse( oCn2 )
cSql:= "select kxp.corte, k.descripcion, p.id, p.descripcion from P0017 p inner join P0031 kxp on kxp.producto=p.codigo inner join P0029 k on k.codigo=kxp.corte"
oRs2:=oCn2:RowSet( cSql )
xBrowse( oRs2 )
RETURN nil
Error:
Application
===========
Path and name: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe (32 bits)
Size: 4,834,816 bytes
Compiler version: Harbour 3.2.0dev (r2008190002)
FiveWin version: FWH 22.03
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 10/06/22, 13:28:04
Error description: (DOS Error -2147352567) WINOLE/1007 Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros. (0x800A0BB9): ADODB.Connection
Args:
[ 1] = C TLINKLIST
Stack Calls
===========
Called from: => TOLEAUTO:ISKINDOF( 0 )
Called from: .\source\function\XBROWSER.PRG => XBROWSE( 101 )
Called from: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\SOURCE\conexion-ado.prg => MAIN( 8 )
System
======
CPU type: Intel(R) Core(TM) i5-6400T CPU @ 2.20GHz 2208 Mhz
Hardware memory: 12063 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 5
1 ,
2 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c
3 Ajustes, C:\Windows\System32\1033\MSOLEDBSQLR.RLL
4 GDI+ Window (RendServ.exe), C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.2006_none_d94bc80de10970
5 Licencia de Deep Freeze, D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe
Variables in use
================
Procedure Type Value
==========================
TOLEAUTO:ISKINDOF
Param 1: O Class: ERROR
XBROWSE
Param 1: C "TLINKLIST"
Local 1: U
Local 2: U
MAIN
Param 1: O Class: TOLEAUTO
Local 1: C "TOLEAUTO"
Local 2: L .F.
Local 3: U
Local 4: U
Local 5: U
Local 6: L .T.
Local 7: U
Local 8: U
Local 9: U
Local 10: L .F.
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: O Class: TFONT
Local 16: O Class: TFONT
Local 17: U
Local 18: U
Local 19: N 1020.00
Local 20: N 384.00
Local 21: U
Local 22: U
Local 23: U
Local 24: U
Local 25: U
Local 26: L .T.
Local 27: U
Local 28: N 1
Local 29: N 1
Local 30: L .F.
Local 31: A Len: 0
Local 32: L .T.
----------------------------------------------------------------------------------------------------
si cambio en el codigo a:
oCn2 := FW_OpenADOConnection( { "MSSQL, 192.168.120.206, SarubbiAlba, sa, Came0303" }, .t., oErr )
El error da:
Application
===========
Path and name: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe (32 bits)
Size: 4,834,816 bytes
Compiler version: Harbour 3.2.0dev (r2008190002)
FiveWin version: FWH 22.03
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 0 mins 4 secs
Error occurred at: 10/06/22, 13:31:35
Error description: Error BASE/1004 No exported method: ROWSET
Args:
[ 1] = U
[ 2] = C select kxp.corte, k.descripcion, p.id, p.descripcion from P0017 p inner join P0031 kxp on kxp.producto=p.codigo inner join P0029 k on k.codigo=kxp.corte
Stack Calls
===========
Called from: => ROWSET( 0 )
Called from: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\SOURCE\conexion-ado.prg => MAIN( 10 )
System
======
CPU type: Intel(R) Core(TM) i5-6400T CPU @ 2.20GHz 2208 Mhz
Hardware memory: 12063 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 5
1 ,
2 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c
3 Ajustes, C:\Program Files (x86)\Common Files\System\Ole DB\MSDASQLR.DLL
4 GDI+ Window (RendServ.exe), C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.2006_none_d94bc80de10970
5 Licencia de Deep Freeze, D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe
Variables in use
================
Procedure Type Value
==========================
ROWSET
Param 1: O Class: ERROR
MAIN
Param 1: C "select kxp.corte, k.descripcion, p.id, p.descripcion from P0017 p inner join P0031 kxp on kxp.producto=p.codigo inner join P0029 k on k.codigo=kxp.corte"
Local 1: U
Local 2: U
----------------------------------------------------------------------------------------------------
Agradezco desde ya vuestra ayuda
Adjunto el código del prg y la respuesta según la sintaxis utilizada.
Código:
FUNCTION Main()
LOCAL oCn2, oRs2, cSql, oErr
oCn2 := FW_OpenADOConnection( { "MSSQL", "192.168.120.206", "SarubbiAlba", "sa", "Came0303" }, .t., oErr )
xBrowse( oCn2 )
cSql:= "select kxp.corte, k.descripcion, p.id, p.descripcion from P0017 p inner join P0031 kxp on kxp.producto=p.codigo inner join P0029 k on k.codigo=kxp.corte"
oRs2:=oCn2:RowSet( cSql )
xBrowse( oRs2 )
RETURN nil
Error:
Application
===========
Path and name: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe (32 bits)
Size: 4,834,816 bytes
Compiler version: Harbour 3.2.0dev (r2008190002)
FiveWin version: FWH 22.03
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 10/06/22, 13:28:04
Error description: (DOS Error -2147352567) WINOLE/1007 Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros. (0x800A0BB9): ADODB.Connection
Args:
[ 1] = C TLINKLIST
Stack Calls
===========
Called from: => TOLEAUTO:ISKINDOF( 0 )
Called from: .\source\function\XBROWSER.PRG => XBROWSE( 101 )
Called from: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\SOURCE\conexion-ado.prg => MAIN( 8 )
System
======
CPU type: Intel(R) Core(TM) i5-6400T CPU @ 2.20GHz 2208 Mhz
Hardware memory: 12063 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 5
1 ,
2 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c
3 Ajustes, C:\Windows\System32\1033\MSOLEDBSQLR.RLL
4 GDI+ Window (RendServ.exe), C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.2006_none_d94bc80de10970
5 Licencia de Deep Freeze, D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe
Variables in use
================
Procedure Type Value
==========================
TOLEAUTO:ISKINDOF
Param 1: O Class: ERROR
XBROWSE
Param 1: C "TLINKLIST"
Local 1: U
Local 2: U
MAIN
Param 1: O Class: TOLEAUTO
Local 1: C "TOLEAUTO"
Local 2: L .F.
Local 3: U
Local 4: U
Local 5: U
Local 6: L .T.
Local 7: U
Local 8: U
Local 9: U
Local 10: L .F.
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: O Class: TFONT
Local 16: O Class: TFONT
Local 17: U
Local 18: U
Local 19: N 1020.00
Local 20: N 384.00
Local 21: U
Local 22: U
Local 23: U
Local 24: U
Local 25: U
Local 26: L .T.
Local 27: U
Local 28: N 1
Local 29: N 1
Local 30: L .F.
Local 31: A Len: 0
Local 32: L .T.
----------------------------------------------------------------------------------------------------
si cambio en el codigo a:
oCn2 := FW_OpenADOConnection( { "MSSQL, 192.168.120.206, SarubbiAlba, sa, Came0303" }, .t., oErr )
El error da:
Application
===========
Path and name: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe (32 bits)
Size: 4,834,816 bytes
Compiler version: Harbour 3.2.0dev (r2008190002)
FiveWin version: FWH 22.03
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 0 mins 4 secs
Error occurred at: 10/06/22, 13:31:35
Error description: Error BASE/1004 No exported method: ROWSET
Args:
[ 1] = U
[ 2] = C select kxp.corte, k.descripcion, p.id, p.descripcion from P0017 p inner join P0031 kxp on kxp.producto=p.codigo inner join P0029 k on k.codigo=kxp.corte
Stack Calls
===========
Called from: => ROWSET( 0 )
Called from: D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\SOURCE\conexion-ado.prg => MAIN( 10 )
System
======
CPU type: Intel(R) Core(TM) i5-6400T CPU @ 2.20GHz 2208 Mhz
Hardware memory: 12063 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 5
1 ,
2 , C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c
3 Ajustes, C:\Program Files (x86)\Common Files\System\Ole DB\MSDASQLR.DLL
4 GDI+ Window (RendServ.exe), C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.2006_none_d94bc80de10970
5 Licencia de Deep Freeze, D:\XBASE-PROYECTOS\RENDIMIENTO-SERVICIOS\RendServ.exe
Variables in use
================
Procedure Type Value
==========================
ROWSET
Param 1: O Class: ERROR
MAIN
Param 1: C "select kxp.corte, k.descripcion, p.id, p.descripcion from P0017 p inner join P0031 kxp on kxp.producto=p.codigo inner join P0029 k on k.codigo=kxp.corte"
Local 1: U
Local 2: U
----------------------------------------------------------------------------------------------------
Agradezco desde ya vuestra ayuda
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
Re: Pregunta sobre FW_OpenAdoConnection
Hola José, Verificaste si los parámetros que le pasas a la función son los correctos? El modelo que te mandé es el que me sugirió Mr Rao. Si te fijas en adofuncs.prg que se encuentra en \source\function allí podés ver como funciona Fw_OpenAdoConnection. Yo lo uso tal cual el modelo que te mandé.
Saludos
Code: Select all | Expand
Fw_OpenAdoConnection( { ""MSSQL", "Host", "BBDD", "user", "passw" }, lOnOff )
Saludos
- nageswaragunupudi
- Posts: 10721
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Been thanked: 8 times
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
jose_murugosa wrote:De acuerdo con la documentación, si la entiendo bien si yo quisiera abrir una conexión a una base Mysql, MSSql u Oracle, bastaría con escribir:
oCn2 := FW_OpenADOConnection( "MSSQL,192.168.120.206,Sarubbi,sa,Came0303", .t. )
xBrowse( oCn2 ) //para ver el objeto conexión
Pero cuando intento verr esta conexión recibo este error:
Here, the problem is not with ADO connection.
The real problem is with the function XBrowse(...) (or XBROWSER command).
We sincerely regret this inconvenience.
Due to a bug we introduced inadvertently in the recent versions, XBrowse( <anyOleObject> ), including RecordSet objects is failing with the above runtime error.
We suggest you to fix the bug.
Open fwh\source\function\xbrowser.prg
You will find this code near line no. 101 depending on your FWH version.
Code: Select all | Expand
if ValType( uData ) == "H" .or. ( ValType( uData ) == "O" .and. uData:IsKindOf( "TLINKLIST" ) )
lAutoFit := .t.
endif
Either you comment out these 3 lines of code entirely or replace them with the following lines of code.
Code: Select all | Expand
if ValType( uData ) == "H" .or. ( ValType( uData ) == "O" .and. ;
__ObjHasMethod( uData, "ISKINDOF" ) .and. uData:IsKindOf( "TLINKLIST" ) )
lAutoFit := .t.
endif
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 10721
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Been thanked: 8 times
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
Code: Select all | Expand
oCn := FW_OpenADOConnection( "MSSQL,192.168.120.206,Sarubbi,sa,Came0303", .t. )
oCn := FW_OpenADOConnection( { "MSSQL","192.168.120.206","Sarubbi","sa","Came0303" }, .t. )
oCn := FW_OpenADOConnection( cConnectionString, .t. )
All the above are correct.
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- nageswaragunupudi
- Posts: 10721
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Been thanked: 8 times
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
cSql:= "select kxp.corte, k.descripcion, p.id, p.descripcion from P0017 p inner join P0031 kxp on kxp.producto=p.codigo inner join P0029 k on k.codigo=kxp.corte"
oRs2:=oCn2:RowSet( cSql )
xBrowse( oRs2 )
ADO connection object has no method RowSet.
Use:
Code: Select all | Expand
oRs := FW_OpenRecordSet( oCn, cSql ) // -> Ado RecordSet object
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- jose_murugosa
- Posts: 1185
- Joined: Mon Feb 06, 2006 4:28 pm
- Location: Uruguay
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
Mr. Rao
Thanks a lot for your help, I'm starting with ado connections and your feedback is really appreciated.
Muchas gracias por su ayuda, estoy comenzando con las conexiones ado y su devolución es muy apreciada.
Thanks a lot,
Muchas gracias.
Thanks a lot for your help, I'm starting with ado connections and your feedback is really appreciated.
Muchas gracias por su ayuda, estoy comenzando con las conexiones ado y su devolución es muy apreciada.
Thanks a lot,
Muchas gracias.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
- nageswaragunupudi
- Posts: 10721
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Been thanked: 8 times
- Contact:
Re: Pregunta sobre FW_OpenAdoConnection
jose_murugosa wrote:Mr. Rao
Thanks a lot for your help, I'm starting with ado connections and your feedback is really appreciated.
Muchas gracias por su ayuda, estoy comenzando con las conexiones ado y su devolución es muy apreciada.
Thanks a lot,
Muchas gracias.
We assure our full support.
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India