Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
18-02-21 11:35 AM
Hola, buenas.
Estoy tratando de conectar a una BD de Access (si, el cliente lo usa) y resulta que si pongo el flujo en un Process o en un Object todo de corrido, me lo ejecuta sin problema, accedo a la base de datos y hago una consulta, de por ejemplo, buscar el número máximo de un campo de una tabla dada.
Lo que hago es conectar al access, abrirlo, y luego, acceder a los datos con un "Get Collection" y una instrucción SQL.
Si todo estos pasos están en un Process Studio o en un Object Studio, no hay problema, lo dicho.
Pero si en un Process me conecto a la base de datos, la abro, y llamo a un Object donde está la consulta SQL específica, me da ese error

El action de conectar a la BD es por el ConnectionString, con los siguientes datos: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;"
donde la direccion es el archivo access que estoy abriendo. Es decir, que se inicializa, pero no se donde se pierde.
¿Alguna idea de por qué si lo pongo todo seguido funciona y si lo paso de un PS a un OS no me funciona? Parece como que al cambiar del Process a Object no se relaciona la BD.
Un saludo y gracias
------------------------------
Alberto Gómez
------------------------------
Estoy tratando de conectar a una BD de Access (si, el cliente lo usa) y resulta que si pongo el flujo en un Process o en un Object todo de corrido, me lo ejecuta sin problema, accedo a la base de datos y hago una consulta, de por ejemplo, buscar el número máximo de un campo de una tabla dada.
Lo que hago es conectar al access, abrirlo, y luego, acceder a los datos con un "Get Collection" y una instrucción SQL.
Si todo estos pasos están en un Process Studio o en un Object Studio, no hay problema, lo dicho.
Pero si en un Process me conecto a la base de datos, la abro, y llamo a un Object donde está la consulta SQL específica, me da ese error
El action de conectar a la BD es por el ConnectionString, con los siguientes datos: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;"
donde la direccion es el archivo access que estoy abriendo. Es decir, que se inicializa, pero no se donde se pierde.
¿Alguna idea de por qué si lo pongo todo seguido funciona y si lo paso de un PS a un OS no me funciona? Parece como que al cambiar del Process a Object no se relaciona la BD.
Un saludo y gracias
------------------------------
Alberto Gómez
------------------------------
Answered! Go to Answer.
1 BEST ANSWER
Helpful Answers
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
18-02-21 03:27 PM
Hola Alberto,
Consulta que Businnes Object estas utilizando:
Data - SQL Server
Data - OLEDB
Te recomiendo Data - OLEDB si es una Base de Datoss Accces pero para cualquiera de la 2 que uses, te recomiendo usar de primero el action Set Connection antes de realizar la consulta a la BD, con ese action se inicializa la conexion a la BD, sin eso saldrá el mensaje que mencionas. Otra cosa, tienes que agregar ese action donde vayas a realizar consultas a la BD. Ejemplo: si tienes un process que inicializa la conexion con el action Set connection y tienes un object para realizar la consulta Get Collection te saldrá el error que mencionas, para que no de error tienes que colocar el action Set connection dentro del Object. También debes acordarte de cerrar la conexion cuando la dejes de usar (action Close).
Espero haberte ayudado
Saludos
------------------------------
Jhogel Ponne
Senior RPA
Ernst & Young
America/Panama
------------------------------
Consulta que Businnes Object estas utilizando:
Data - SQL Server
Data - OLEDB
Te recomiendo Data - OLEDB si es una Base de Datoss Accces pero para cualquiera de la 2 que uses, te recomiendo usar de primero el action Set Connection antes de realizar la consulta a la BD, con ese action se inicializa la conexion a la BD, sin eso saldrá el mensaje que mencionas. Otra cosa, tienes que agregar ese action donde vayas a realizar consultas a la BD. Ejemplo: si tienes un process que inicializa la conexion con el action Set connection y tienes un object para realizar la consulta Get Collection te saldrá el error que mencionas, para que no de error tienes que colocar el action Set connection dentro del Object. También debes acordarte de cerrar la conexion cuando la dejes de usar (action Close).
Espero haberte ayudado
Saludos
------------------------------
Jhogel Ponne
Senior RPA
Ernst & Young
America/Panama
------------------------------
2 REPLIES 2
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
18-02-21 03:27 PM
Hola Alberto,
Consulta que Businnes Object estas utilizando:
Data - SQL Server
Data - OLEDB
Te recomiendo Data - OLEDB si es una Base de Datoss Accces pero para cualquiera de la 2 que uses, te recomiendo usar de primero el action Set Connection antes de realizar la consulta a la BD, con ese action se inicializa la conexion a la BD, sin eso saldrá el mensaje que mencionas. Otra cosa, tienes que agregar ese action donde vayas a realizar consultas a la BD. Ejemplo: si tienes un process que inicializa la conexion con el action Set connection y tienes un object para realizar la consulta Get Collection te saldrá el error que mencionas, para que no de error tienes que colocar el action Set connection dentro del Object. También debes acordarte de cerrar la conexion cuando la dejes de usar (action Close).
Espero haberte ayudado
Saludos
------------------------------
Jhogel Ponne
Senior RPA
Ernst & Young
America/Panama
------------------------------
Consulta que Businnes Object estas utilizando:
Data - SQL Server
Data - OLEDB
Te recomiendo Data - OLEDB si es una Base de Datoss Accces pero para cualquiera de la 2 que uses, te recomiendo usar de primero el action Set Connection antes de realizar la consulta a la BD, con ese action se inicializa la conexion a la BD, sin eso saldrá el mensaje que mencionas. Otra cosa, tienes que agregar ese action donde vayas a realizar consultas a la BD. Ejemplo: si tienes un process que inicializa la conexion con el action Set connection y tienes un object para realizar la consulta Get Collection te saldrá el error que mencionas, para que no de error tienes que colocar el action Set connection dentro del Object. También debes acordarte de cerrar la conexion cuando la dejes de usar (action Close).
Espero haberte ayudado
Saludos
------------------------------
Jhogel Ponne
Senior RPA
Ernst & Young
America/Panama
------------------------------
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
18-02-21 03:52 PM
Muchas gracias, Jhogel.
En realidad, es lo que decías, El Set connection lo tenía en un Process y el Get Collection, en un Object, por lo que no me dejaba seguir. Lo malo que para cada vez que tengo que acceder al Access, tengo que establecer conexión, abrirla, trabajar con ella (leer, escribir...) y luego cerrar, ya que son objetos distintos y partes distintas del proceso. Sabiendo que es asi, tendré que optimizar el flujo para ir cuantas menos veces a la BD posible.
Muchas gracias!
------------------------------
Alberto Gómez
------------------------------
En realidad, es lo que decías, El Set connection lo tenía en un Process y el Get Collection, en un Object, por lo que no me dejaba seguir. Lo malo que para cada vez que tengo que acceder al Access, tengo que establecer conexión, abrirla, trabajar con ella (leer, escribir...) y luego cerrar, ya que son objetos distintos y partes distintas del proceso. Sabiendo que es asi, tendré que optimizar el flujo para ir cuantas menos veces a la BD posible.
Muchas gracias!
------------------------------
Alberto Gómez
------------------------------
