anonymous Log in
Search
Recents:
v3.0
gx-l
DBCONNECTION
04/02/03 12:50

CARLOS JOSE

Replies: 45

Hola Foro:
 
    Necesito de manera urgente información y consejos sobre el manejo de tipo de datos DBCONNECTION, he consultado la ayuda de Genexus pero no he logrado hacer que funcione mi aplicación, les comento, cree varios DATASTORE apuntando a varias B.Datos. SQL que contienen una tabla de igual definición, cree varios ODBC con acceso a estas B.Datos, mi idea es que a traves de un dato definido como DBCONNECTION pueda conectar y/o desconectar a las distintas B. de Datos y esto es lo que no consigo.
   
Gracias anticipadas y un saludo:
       
        Carlos Jose
Replies

Leonardo Zepeda

04/02/03 15:28
Hola Carlos Consulta, estos diferentes datastore, estan asociados a sus respectivos Data View y sus respectivas transacciones, en el caso de ser asi, deberias definir en la preferences del DataStore en : Connect using = Driver Drive name = SQL SERVER Asi no necesitas definir varios ODBC Y no deberias tener problemas para trabajar con distintas Bases. En el caso de no ser asi, verifica los ejemplos que aparecen en Developer Library o envia ejemplos de la forma en que lo realizas, para asi poder ayudarte mejor Esperando te sirva Leonardo Zepeda A. > Hola Foro: > > Necesito de manera urgente > información y consejos sobre el manejo de tipo de datos DBCONNECTION, > he consultado la ayuda de Genexus pero no he logrado hacer que > funcione mi aplicación, les comento, cree varios DATASTORE apuntando a > varias B.Datos. > SQL que contienen una tabla de igual > definición, cree varios ODBC con acceso a estas B.Datos, mi idea es > que a traves de un dato definido como DBCONNECTION pueda conectar y/o > desconectar a las distintas B. de Datos y esto es lo que no consigo. > > Gracias anticipadas y un saludo: > > Carlos Jose > ----------------------------------------- > Para Suscribirse/Desuscribirse: > http://www.gxtechnical.com/cgi- > bin/hforum.exe?2,3,30,1 Por consultas > owner-gx-l@gxtech.com.uy -- http://www.esfera.cl ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy

CARLOS JOSE

05/02/03 11:02
Hola Foro:       Gracias Leonardo por atenderme, he seguido tus indicaciones pero no he logrado hacer lo que pretendo ( estoy un poco verde en este tema ), te comento lo que quiero hacer y lo que he diseñado:       Tengo lo siguiente:       - Una sola transacción denominada DATOS con los siguientes campos:                   CODDAT * ---------> Codigo Dato.                 DESDAT   --------->  Descripción del Dato.       - Dos Data View.                   DATOUNO  --------> que apunta a un DATA STORE denominado ENLACEUNO que accede a un B.Datos denominada                                              EMP1 ubicada en un servidor SQL.                   DATODOS  --------> que apunta a un DATA STORE denominado ENLACEDOS que accede a una B. Datos denominada                                              EMP2 ubicada en un servidor SQL.        - Un Work Panel.                     Que va a ser el programa principal en donde pretendo que un usuario se identifique y dependiendo que usuario entre se conecte a una B. Datos u otra.       Preguntas:               - Tengo que configurar de alguna manera especial los DATA VIEW, aparte de indicarle que DATA STORE tengo que utilizar, ¿ tengo que indicar a que B. de Datos conecta en los DATA VIEW?,  ó si al haber definido el DATA STORE para que apunte a una B. de datos  ¿ esto ya no es necesario?.             - Es necesario crear una transación ( que serian iguales ) por cada B. de datos a la que se intenta acceder ( teniendo en cuenta que estas B.Datos tienen definida la misma tabla), es decir aprovechar esta única transación para las 2 B. de Datos.   Un saludo y de nuevo gracias anticipadas.               Carlos Jose.

Leonardo Zepeda

05/02/03 13:23
Hola En relación a la Transacción DATOS, debe hacer 2(Dos)Ej.: Transacción : EMP1DATOS Emp1CODDAT * Emp1DESDAT Transacción : EMP2DATOS Emp2CODDAT * Emp2DESDAT Genexus genera 2 Tablas, para el ejemplo la denominamos EMP1DATOS y EMP2DATOS Data View Empresa1 = Data View Assoc. Table : EMP1DATOS Composition Atributo Original Otributo Genexus CODDAT Emp1CODDAT DESDAT Emp1DESDAT Terminas de ingresar el Data Store, indices y Platform. y repites la operación con la otra tabla. Con esto puedes leer las dos tablas sin ningun problema. Ahora, asumo que la dos bases de Datos contienen tablas generadas con Genexus, en el caso de no ser asi deberias hacer tantas transacciones y data view como tablas tengas. Continuo asumiendo que las tablas fueron generadas con Genexus. Te recomiendo que de www.genexus.com, bajes la developer library para ver las definiciones, ahora viendo la información encontre el siguiente ejemplo Ejemplo Genexus &MyConnection = GetDatastore("default") &MyConnection.Disconnect() &MyConnection.UserName = "Administrador" &MyConnection.Password = "Adm!Password" &MyConnection.ConnectionData = "EMP1" &MyConnection.ShowPrompt = 2 &MyConnection.Connect() Consideraciones generales · Solo esta implementado cuando se utiliza tecnología de acceso a datos ODBC (para el caso del generador C/SQL, la preferencia “C/SQL Access Method” deberá tener dicho valor). Esperando te sirva Leonardo Zepeda A. · Se debe tener en cuenta que los métodos Connect()/Disconnect() cierran los cursores que estén abiertos en la conexión a la que aplican. Por lo anterior, no es posible ejecutar los métodos Connect() y/o Disconnect() dentro del alcance de un comando For each. Es responsabilidad del desarrollador utilizar la conexión/desconexión en lugares correctos. Por ej. si se realiza la desconexión en la mitad de un procedimiento, probablemente la ejecución cancelará. También existe la posibilidad de que continúe trabajando si el procedimiento se reconecta, pero en todo caso los resultados son impredecibles > Hola Foro: > > Gracias Leonardo por atenderme, he > seguido tus indicaciones pero no he > logrado hacer lo que pretendo ( estoy un > poco verde en este tema ), te comento lo > que quiero hacer y lo que he diseñado: > > Tengo lo siguiente: > > - Una sola transacción denominada > DATOS con los siguientes campos: > > CODDAT * ---------> > Codigo Dato. DESDAT ---- > -----> Descripción del Dato. > > - Dos Data View. > > DATOUNO --------> que > apunta a un DATA STORE denominado > ENLACEUNO que accede a un B.Datos denominada > > EMP1 ubicada en un servidor SQL. > > DATODOS --------> que > apunta a un DATA STORE denominado > ENLACEDOS que accede a una B. Datos denominada > > EMP2 ubicada en un servidor SQL. > > - Un Work Panel. > > Que va a ser el programa > principal en donde pretendo que un > usuario se identifique y dependiendo que > usuario entre se conecte a una B. Datos > u otra. > > Preguntas: > > - Tengo que configurar de > alguna manera especial los DATA VIEW, > aparte de indicarle que DATA STORE > tengo que utilizar, ¿ tengo que indicar > a que B. de Datos conecta en los DATA > VIEW?, ó si al haber definido el DATA > STORE para que apunte a una B. de datos > ¿ esto ya no es necesario?. - > Es necesario crear una transación ( que > serian iguales ) por cada B. de datos a > la que se intenta acceder ( teniendo en > cuenta que estas B.Datos tienen definida > la misma tabla), es decir aprovechar > esta única transación para las 2 B. de Datos. > > Un saludo y de nuevo gracias anticipadas. > > Carlos Jose. > ----------------------------------------- > Para Suscribirse/Desuscribirse: > http://www.gxtechnical.com/cgi- > bin/hforum.exe?2,3,30,1 Por consultas > owner-gx-l@gxtech.com.uy -- http://www.esfera.cl ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy

CARLOS JOSE

05/02/03 14:06
  Hola Leonardo:       Gracias de nuevo, el ejemplo de la Developer Library ya lo habia visto, de todas las maneras gracias por habermelo remitido, "creo" que el tipo de datos DBCONNECTION no me va a servir para lo que yo quiero desarrollar ( como ya te he comentado estoy un poco verde en el tema y no se si he enfocado bien el mismo) por ello te paso a comentar un poco lo que quiero realizar y determinar si tengo que utilizar este tipo de datos o no. Lo que pretendo es instalar una unica aplicación en TERMINAL SERVER ( el programa es el mismo para todas las empresas) y lo que quiero es que en el momento de la conexión determine a que Base de Datos se tiene que conectar en función de la empresa que acceda a la aplicación ( Nota:  Cada empresa que se conecta levanta una instancia de la aplicación ), de hay que necesite cambiar el acceso de una B. de datos a otra dependiendo de quien se conecte.     Un saludo y de nuevo gracias anticipadas.               Carlos Jose.

Leonardo Zepeda

05/02/03 15:21
Hola Carlos Que te parece hacer lo sgte., creas un archivo txt con las empresas que utilizan el sistema de la sgte. forma Usuario Clave Empresa Base de Datos User Id User Password Creas Un Workpanel Entrada = Workpanel Usuario :_________ Clave :_________ Event 'Enter' Haces la validacion para rescatar los datos de Base de Datos,Empresas etc del archivo texto y si son correctos Aplicas DBCONNECTION &MyConnection.Connect() y haces un call al Worpanel Principal, donde validas al usuario y das los privilegios de las opciones del Sistema EndEvent Event 'Exit' &MyConnection.DisConnect() EndEvent Importante No defines data view, data store, Odbc (en caso de usar Connect using =Driver) , solo este archivo texto en la que vas agregando empresas en la medida que aparezcan. Nota : El usuario y clave del archivo texto, es una por empresa. Nota2: Dentro de la Propiedades del modelo en Dbms Option, defines los datos de una base de datos y utilizar Connect using =Driver, por ejemplo. Esperando te Sirva Leonardo Zepeda A. > Hola Leonardo: > > Gracias de nuevo, el ejemplo de la > Developer Library ya lo habia visto, de > todas las maneras gracias por habermelo > remitido, "creo" que el tipo de datos > DBCONNECTION no me va a servir para lo > que yo quiero desarrollar ( como ya te > he comentado estoy un poco verde en el > tema y no se si he enfocado bien el > mismo) por ello te paso a comentar un > poco lo que quiero realizar y determinar > si tengo que utilizar este tipo de datos > o no. Lo que pretendo es instalar una > unica aplicación en TERMINAL SERVER ( el > programa es el mismo para todas las > empresas) y lo que quiero es que en el > momento de la conexión determine a que > Base de Datos se tiene que conectar en > función de la empresa que acceda a la > aplicación ( Nota: Cada empresa que se > conecta levanta una instancia de la > aplicación ), de hay que necesite > cambiar el acceso de una B. de datos a > otra dependiendo de quien se conecte. > Un saludo y de nuevo gracias anticipadas. > > Carlos Jose. > ----------------------------------------- > Para Suscribirse/Desuscribirse: > http://www.gxtechnical.com/cgi- > bin/hforum.exe?2,3,30,1 Por consultas > owner-gx-l@gxtech.com.uy -- http://www.esfera.cl ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy

CARLOS JOSE

06/02/03 05:51
Hola Leonardo:       Otra vez gracias, por fin he logrado lo que pretendia, te comento como:           En el DBMS  de la aplicación, en el apartado "Conect using" puse Driver, y en el apartado "Driver name" puse SQL server.         Al final he creado tantos ODBC como empresas voy a manejar, y utilizo un Work Panel que va a ser el encargado         de controlar la conexión a las distintas B. de Datos, y hay utilizo DBCONNECTION para realizar el enlace:           &CONEXION.Disconnect()         &CONEXION=GETDATASTORE("DEFAULT")          &CONEXION.ODBCDatasourceName="EMP1"   Nota: aqui indico el nombre del ODBC que corresponda.         &CONEXION.ShowPrompt=2         &CONEXION.Connect()   Un saludo y gracias.               Carlos Jose.

Carina

06/02/03 06:06
Leonardo: por lo que entiendo quieres que una misma aplicacion se conecte a una base de datos u otra según el 'cliente' que se conecta? eso yo lo solucione modificando el client.cfg de cada usuario, yo uso el instalador de aplicaciones de developer y en cada 'cliente' (usuario) le modifico su base, usuario y password (use para todos el mismo usuario y password asi lo unico que cambio es el nombre de database)   este es el extracto del client.cfg que se refiere a la configuracion SER_ID=Elj20MqY44RPdvT8FEpDD0==                        esto lo encripta gx USER_PASSWORD=Elj20MqY44RPdvT8FEpDD0==     esto lo encripta gx JDBC_DRIVER=com.microsoft.jdbc.sqlserver.SQLServerDriver DB_URL=jdbc:microsoft:sqlserver://server:1433;databaseName=model;SelectMethod=cursor                                                                                             ********                                                                                              esto es lo que deberias cambiar por el nombre correcto         este client.cfg esta en la carpeta de instalacion de la aplicacion o en la data de tu modelo de desarrollo recuerda cambiarlo en el ultimo creado x genexus yo lo uso para java, no se si sirve para los otros desarrollos   Espero te sirva o te de una idea Suerte Carina   ----- -----

Leonardo Zepeda

06/02/03 06:44
Hola Carlos Que bueno que te haya resultado, pero si utilizas "Conect using" = Driver, no necesitas crear n Data Sourcer (ODBC), porque al estar driver del Sql en el Servidor en tu caso es suficiente. Chaooo Leonardo Zepeda Arce. > Hola Leonardo: > > Otra vez gracias, por fin he logrado lo que pretendia, te comento > como: > > En el DBMS de la aplicación, en el apartado "Conect using" > puse Driver, y en el apartado "Driver name" puse SQL > server. Al final he creado tantos > ODBC como empresas voy a manejar, y > utilizo un Work Panel que va a ser el > encargado de controlar la > conexión a las distintas B. de Datos, y hay utilizo DBCONNECTION para > realizar el enlace: > > &CONEXION.Disconnect() > &CONEXION=GETDATASTORE("DEFAULT") > > &CONEXION.ODBCDatasourceName="EMP1" > Nota: aqui indico el nombre del ODBC que > corresponda. > &CONEXION.ShowPrompt=2 > &CONEXION.Connect() > > Un saludo y gracias. > > Carlos Jose. > ----------------------------------------- > Para Suscribirse/Desuscribirse: > http://www.gxtechnical.com/cgi- > bin/hforum.exe?2,3,30,1 Por consultas > owner-gx-l@gxtech.com.uy -- http://www.esfera.cl ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy

BERETTA LUCA - DATA

08/04/03 10:10
can i use this data type with java or C# in a web application ?!   thanks Luca

Christian Berríos Se

15/05/03 08:35
¿Alguien tiene algún ejemplo de conexión con variables dbconnection? Que me pueda facilitar

REGALADO CESAR - GEN

15/05/03 08:54
Te paso un mail de alejandro Blengio de Artech     &Conexion_Default = GetDataStore("Default") &Conexion_Default.Disconnect() &Conexion_Default.ODBCDatasourceName = "DSN_Prueba" &Conexion_Default.UserName = "sa" &Conexion_Default.ShowPrompt = 3 &Conexion_Default.Connect() Lo de la propiedad DatastoreName era antes como vos lo programaste, despues en un momento se hizo un cambio y la propiedad es read-only, y hay que usar la funcion GetDatastore(). Me fije en la GXDL y esta actualizada, capaz que tenes un .chm anterior.   No es necesario tener Allow non estandar..., Connect y Disconnect son metodos y no propiedades, como lo pusiste sin los () no te lo dejaba salvar.   Saludos, ____________________ Alejandro Blengio ARTech HYPERLINK "mailto:ablengio@artech.com.uy"ablengio@artech.com.uy       Saludos,   César ----------

Luís Ribeiro

15/05/03 09:08
> Caro Homero > Resolvi este problema com a sequinte rotina - Criando datasources > e me conectando quando necessário > > > Parm(In:&EMP ,In:&UsrCod ,In:&Senha); > //-------------------- Identificar o Servidor para > Conexão ----------------------- > Do Case >    Case &EMP = 1 >         &DataSource = 'EMP1' >    Case &EMP = 2 >         &DataSource = 'EMP2' >    Case &EMP = 3 >          &DataSource = 'EMP3' >    Case &EMP = 8 >         &DataSource = 'EMP4' >    Otherwise >         &Msg =('DataSource para Unidade :-'+Str(&UopCod,2)+' - Não > encontrada !!!') >         Msg(&Msg) > EndCase > > //-------------------- Conectar com o > Servidor ------------------------------------- > > &UserName              = &UsrCod > &Servidor              = GetDataStore("DEFAULT") > &Servidor.Disconnect() > &Servidor.ODBCDatasourceName = &DataSource > &Servidor.UserName     = &UserName > &Servidor.UserPassword = '&Senha'       --- > &Servidor.ShowPrompt   = 2 > &Servidor.Connect() > > If &Servidor.ErrCode <> 0 >    &Msg =('Conexão com a Unidade :-'+Str(&UopCod,2)+' - Não foi possivel > !!!') >    Msg(&Msg) > EndIf > > > Abraços, > > Theobaldo Ribeiro Conheça o News Brasileiro de GeneXus http://genexus.no-ip.com ----- -----

Christian Berríos Se

15/05/03 10:05
Gracias por las respuestas enviadas me han ayudado   -----Mensaje original-----

MARTINEZ ALVARO - SA

15/05/03 10:22
// conecta con base de datos &empresa usando &usuario y &contraseña. Devuelve &retorno   &conexion = GetDatastore("default") &conexion.UserName = &usuario &conexion.UserPassword = &contrasenia &conexion.ConnectionData = "DATABASE=" + &empresa &conexion.ShowPrompt = 2 &conexion.Connect() &retorno = &conexion.ErrCode Saludos, Alvaro Martínez Peri SAICO Sistemas Montevideo - Uruguay -----Mensaje original-----

BARRIOS JAVIER - GRU

20/02/04 09:08
Foro:   Alguien pudiera darme una manita con DBConnection.   He estado tratando de hacer que mi aplicación acceda a 2 bases de datos identicas en estructura, pero que pertenecen a dos empresas distintas.   Tengo un progama MAIN que accede a una tabla de empresas, donde un atributo tiene el nombre del DATA STORE que le corresponde a la empresa seleccionada.   Tengo otro MAIN, que es la aplicación principal la cual recibe como parametro una variable con el nombre del DATA STORE   En el evento START de este MAIN, ejecuto la siguiente secuencia de comandos:       &DBConection=GetDataStore(&EmcODBC)    //&EmcODBC es la variable que trae el nombre del DATASTORE     &DBConection.UserName='sa'     &DBConection.UserPassword=''     &DBConection.ShowPrompt=2     &DBConection.Connect()     &ODBCError=&DBConection.ErrCode     if &ODBCError<>0         &msg='Error al abrir la Base de Datos'+chr(10)+'ErrCode: '+str(&ODBCError,4)+chr(10)         &msg=&msg+'ErrorDescription: '+&DBConection.ErrDescription         msg(&msg)         Return     Endif De acuerdo a lo leido esto bastaría para que de aqui en adelante se utilizara la base de datos correspondiente a la empresa seleccionada.   Pero no es asi siempre se utiliza la base de datos que está por default y no marca ningun error.   Alguien podría decirme en que estoy equivocado?   Tengo definidos 3 DATA Stores, cada una apunta a 3 DATA SOURCES Distintos.   Hay definidos tres data sources, que son asignados a tres bases de datos identicas en estructura, pero con información relativa a cada empresa.   Desarrollo con:   Genexus 7.5-VB-SQL Server Windows XP Profesional   Gracias por la ayuda que puedan prestarme   Emilio Javier Barrios Sosa Grupo JBSistemas, S.A. de C.V. 5 de Mayo #971 2o. Piso Centro 91700 Veracruz, Ver. Tels. (229) 938-8765, 938-8767    

CANESSA CARLOS

20/02/04 09:26
Yo tuve el mismo problema, mi problema era que los servidores se llamaban igual , les cambie los nombres y de ahi en adelante me funciono, mi plataforma es Gx80 Java Oracle   Saludos   Carlos Canessa ASIS Inc. Falls Church, VA 22044 USA ----------

MARTINEZ BEIRO LEAND

20/02/04 13:59
Carlos!   Que pasaría si las dos bases de datos están en el mismo servidor SQL Server y según el usuario que entre en la aplicación en conecte a una u otra base de datos. Pasaría lo mismo que a ti.   Saludos,   Leandro Martínez Beiro CENTERSOFT Cuba   ----------

MARTINEZ ALVARO - SA

27/02/04 08:07
¿No te falta cambiar el nombre de la base de datos?   &DBConection.ConnectionData = "DATABASE=" + &nombre   Alvaro Martínez Peri SAICO Sistemas Montevideo - Uruguay -----Mensaje original-----

DELGADO GERARDO - M.

07/10/04 08:21
Alguien me puede decir a partir de que versión esta disponible este tipo de datos? Gracias Saludos Gerardo Delgado MSoft Servicios Informáticos gdelgado@msoft.es www.msoft.es

Rodrigo Ortiz

22/11/04 23:10
Hola a todos. ¿Alguien me podría dar un ejemplo de como usar una variable DBConnection con SQL y Visual Basic? No logro hacerlo funcionar, pero estoy seguro de que no tengo el procedimiento correctamente. La idea es simple, conectarse a un SQL Server y en tiempo de ejecución cambiar de conexión para actualizar tablas en un servidor remoto. Saludos y gracias, -- Rodrigo Ortiz gxrodrigo@gmail.com ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy

Rodrigo Ortiz

23/11/04 12:12
Hola a todos, ¿Alguien me podría pasar un procedimiento con un ejemplo de como hacer para conectarme a dos bases de datos distintas usando Data Source Names y el tipo de dato DBConnection? Estoy completamente perdido al respecto, probe con el ejemplo que trae la ayuda, pero no me sirve de mucho ya que no desconozco exactamente el uso de algunas propiedades. Lo que quiero hacer es copiar tablas de un servidor de SQL a otro servidor SQL. Desde ya muchas gracias, -- Rodrigo Ortiz gxrodrigo@gmail.com ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy

Alvaro Martínez Peri

23/11/04 13:20
Propiedades DBMS: access technology to set = ODBC connect using = driver Ejemplo: &conexion.UserName = &usuario &conexion.UserPassword = &contrasenia &conexion.ConnectionData = "SERVER=" + &servidor + ";DATABASE=" + &base &conexion.ShowPrompt = 2 // nunca &conexion.Connect() &retorno = &conexion.ErrCode Alvaro Martínez Peri SAICO Sistemas Montevideo - Uruguay -----Mensaje original-----

Leon Andaur

23/11/04 14:00
Estimado agrego dos consultas, y esto solo por curiosidad.....Si es que lo has hecho 1.-  Esto permite hacer cambios en tiempo de ejecucion??. Por ejemplo en el menu inicial tener un combo con las bases o los odbc preconfigurados y al aceptar trabajar con uno o con otro durante la sesion iniciada??. 2.- Y como sería para ADO. NET Atte Leon Please respond to To:         cc:         Subject:        RE: [gx-l] DBConnection Propiedades DBMS:    access technology to set = ODBC    connect using = driver Ejemplo:    &conexion.UserName = &usuario    &conexion.UserPassword = &contrasenia    &conexion.ConnectionData = "SERVER=" + &servidor + ";DATABASE=" + &base    &conexion.ShowPrompt = 2  // nunca    &conexion.Connect()    &retorno = &conexion.ErrCode Alvaro Martínez Peri SAICO Sistemas Montevideo - Uruguay -----Mensaje original-----

Rodrigo Ortiz

23/11/04 15:08
Esto hice al final para poder conectarme a otro data source en tiempo de ejecución: Probé tirar un listado en el mismo procedimiento y funcionó perfecto, por lo que no veo porque no se pueda hacer a la hora de iniciar el sistema, de hecho lo estoy probando. Saludos, &MyConnection = GetDatastore("default") &MyConnection.Disconnect() &MyConnection.UserName = 'sa' &MyConnection.UserPassword = 'PasswordParaSa' &MyConnection.ODBCDatasourceName = 'Nombre_Data_Source' &MyConnection.ShowPrompt = 2 &MyConnection.Connect() &Err = &MyConnection.ErrCode On Tue, 23 Nov 2004 14:35:13 -0400, Leon Andaur

Alvaro Martínez Peri

23/11/04 15:26
1) Lo uso para eso mismo: para que el usuario pueda elegir la base y el servidor con que quiere trabajar.   2) No lo use con ado .net, pero supongo que funciona igual.     Alvaro Martínez Peri SAICO Sistemas Montevideo - Uruguay -----Mensaje original-----

Alvaro Martínez Peri

23/11/04 16:01
El GetDatastore("default") es esencial. Lo aclaro porque en mi ejemplo lo omití sin querer. Para hacerlo a la hora de iniciar el sistema, debes poner la propiedad DBMS "connect to server = at first request". Alvaro Martínez Peri SAICO Sistemas Montevideo - Uruguay -----Mensaje original-----

Julio Mercado

03/03/05 12:19
Sres. Del foro Necesitamos cambiar el usuario generico de conexion a DB, en Ejecucion. Estamos trabajando con Gx.80, Java Web, Motores SqlServer y AS/400. Estuvimos leyendo la ayuda y dice que funciona el DBConnection, pero nos tira el siguiente Error, y queria saber si alguien tuvo alguna experiencia para comentar o bien conoce una solucion para el error. Saludos a todos. Gracias de antemano. javax.servlet.ServletException: java.lang.InternalError: Can't open C:\Archivos de programa\Apache Group\Tomcat 4.1\server.cfg / Null inputStream at com.genexus.ConfigFileFinder.getConfigFile(Unknown Source) at com.genexus.db.Namespace.getNamespace(Unknown Source) at com.genexus.db.DBConnection.setShowprompt(Unknown Source) at hconfdb_impl.E114Y2(hconfdb_impl.java:295) at hconfdb_impl.ws4y2(hconfdb_impl.java:163) at hconfdb_impl.webExecute(hconfdb_impl.java:48) at com.genexus.webpanels.GXWebObjectBase.doExecute(Unknown Source) at hconfdb.doExecute(hconfdb.java:29) at com.genexus.webpanels.GXWebObjectStub.callExecute(Unknown Source) at com.genexus.webpanels.GXWebObjectStub.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666) at java.lang.Thread.run(Thread.java:534) ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy

Carlos Oliva

03/03/05 12:52
Hola Julio, Crea un archivo vacio con el nombre server.cfg en el directorio C:\Archivos de programa\Apache Group\Tomcat 4.1\. Por algun motivo el tipo de datos DBConnection verifica que este archive existe en el directorio de ejecucion (en el client y en el servidor). Reporte este problema a ARTECH y lo ultiomo que escuche es que estan hacienda mas pruebas ----------

Julio Mercado

03/03/05 14:29
Carlos, desde ya muchas gracias, por tu respuesta, pero necesitaria una confirmacion de que esta funcion te funciono en WEB............ Ademas, me escribis que el archivo debe existir en el Cliente, lo cual en web eso es dificil de manejar...... Saludos. On Thu, 3 Mar 2005 11:45:16 -0500, Carlos Oliva

Carlos Oliva

03/03/05 14:49
Lo del cliente se refiere al Web Start Deployment. Es mas rapido que cres el archive en el directorio del servlet que esperes que te lo compruebe. Si te trabaja, tu puedes tratar de incluir el archivo en el WAR deployment Si necesitas datos en el archive, tu puedes copier el server.cfg del directorio data00x de tu aplicacion. Comentanos como te va con esto. Salu2 y suerte ----------

Carlos Oliva

03/03/05 15:05
Lo del cliente se refiere al Web Start Deployment. Lo que probablemente no te debe preocupar. Es mas rapido que cres el archive en el directorio del servlet que esperes que te lo compruebe. Si te trabaja, tu puedes tratar de incluir el archivo en el WAR deployment Si necesitas datos en el archive, tu puedes copier el server.cfg del directorio data00x de tu aplicacion. Comentanos como te va con esto. Salu2 y suerte ----------

Alexander San Martin

25/10/05 16:48
Amigos : Tengo 5 sucursales donde haga para conectarme un DataStore ,pero el problema es que el nombre de las bases son distintas,pero el usuario y pass parece que son las mismas. Existe alguna forma de manejar el DS cambiado en ejecucion el nombre de la Base de Datos ? Gracias por la colaboracion Atte. Alexander

Alexander San Martin

25/10/05 23:51
Amigos : Tengo 5 sucursales donde haga para conectarme un DataStore ,pero el problema es que el nombre de las bases son distintas,pero el usuario y pass parece que son las mismas. Existe alguna forma de manejar el DS cambiado en ejecucion el nombre de la Base de Datos ? Gracias por la colaboracion Atte. Alexander

Leandro Minatel45751

27/10/08 18:53
Estimados, Tengo definidos unos DataView y asignados a un determinado DataStore. En el modelo de produccion, configuro las propiedades del datastore para que apunten a un determinado AS/400. El problema viene cuando intento cambiar la conexion utilizando el DBConnection, el tema es que no cambia la conexion, sigue apuntando al AS/400 que tengo parametrizado en las propiedades del datastore. El codigo es algo asi: &DBConnection = GetDataStore("UNIDATOS") &DBConnection.Disconnect() &DBConnection.JDBCDriverName = 'com.ibm.as400.access.AS400JDBCDriver' &DBConnection.JDBCDriverURL = 'jdbc:as400://172.18.8.122' &DBConnection.ConnectionData = 'unidatos' &DBConnection.UserName = 'usuario' &DBConnection.UserPassword = 'password' &DBConnection.ShowPrompt = 2 &DBConnection.Connect() Este codigo esta en el Evento Start de un WebPanel que es main program. Estoy con GeneXus 9.0u5, Java u5, Tomcat y DB2/400. Cualquier indicio sera bienvenido. Saludos. ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy __________ NOD32 3561 (20081027) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com

Diego Kesselman

28/10/08 10:15
Según el HELP de GX9 , en Java sólo se soporta para Win. Creo que tendrás que apelar al viejo truco de llamar a un CL que te cambie la library list. El 27 de octubre de 2008 15:53, Leandro Minatel

Leandro Minatel45751

28/10/08 10:21
Hola Diego, gracias por la ayuda, pero el problema es que en tiempo de ejecucion tengo que cambiar de AS/400, no de libreria. O sea, hay una pagina que solicita con que planta se va a trabajar, una vez que se selecciona la planta se debe apuntar al AS/400 que esta en esa planta. Saludos. On Tue, Oct 28, 2008 at 10:14 AM, Diego Kesselman

Edgar Jimenez

28/10/08 16:36
Leandro, Si es para web fijate en la documentación de la propiedad de modelo "Before Connect", capaz te sirva. Saludos Edgar -----Mensaje original-----

Leandro Minatel45751

28/10/08 16:57
Edgar, si, me paso ese mismo dato Francisco de Toolnology, creo que la cosa viene por ahi. Voy a hecharle una mirada a ver que onda. Saludos y gracias! On Tue, Oct 28, 2008 at 4:35 PM, Edgar Jimenez

Diego Kesselman

29/10/08 05:08
Probaste creando DDMs en un equipo al que siempre te conectas y desde ahí acceder a los datos de cada servidor? 2008/10/28 Leandro Minatel > Edgar, si, me paso ese mismo dato Francisco de Toolnology, creo que la > cosa viene por ahi. > > Voy a hecharle una mirada a ver que onda. > > Saludos y gracias! > > On Tue, Oct 28, 2008 at 4:35 PM, Edgar Jimenez >

Leandro Minatel45751

29/10/08 10:33
Hola Diego, en este caso se complica un poco el tema con los DDM. Hay 8 AS/400, uno por cada planta, por lo tanto, tengo que crear un juego de DDMs por cada uno de ellos y ponerlos en diferentes bibliotecas. Gracias! 2008/10/29 Diego Kesselman : > Probaste creando DDMs en un equipo al que siempre te conectas y desde ahí > acceder a los datos de cada servidor? > > 2008/10/28 Leandro Minatel >> >> Edgar, si, me paso ese mismo dato Francisco de Toolnology, creo que la >> cosa viene por ahi. >> >> Voy a hecharle una mirada a ver que onda. >> >> Saludos y gracias! >> >> On Tue, Oct 28, 2008 at 4:35 PM, Edgar Jimenez >>

Diego Kesselman

29/10/08 23:59
Se de casos con 60 iseries en red y funciona sin problemas, pero entiendo que buscas un approach por demanda. Podrías crear un pequeño webservice en cada servidor y cambiar la dirección según el caso. On 10/29/08, Leandro Minatel

Leandro Minatel45751

30/10/08 07:46
Hola Diego, creo que tener un par de WebServices antes de la conexion también es una solucion viable. Gracias por las ideas. Slds. 2008/10/29 Diego Kesselman : > Se de casos con 60 iseries en red y funciona sin problemas, pero > entiendo que buscas un approach por demanda. > Podrías crear un pequeño webservice en cada servidor y cambiar la > dirección según el caso. > > > On 10/29/08, Leandro Minatel

Luis Miyashita

30/10/08 09:17
Leandro. O problema é que o GX não fecha as conexões e utiliza as já existente. Faça um teste incluindo esta comando no evento Start dos objetos &httpClient.AddHeader("Connection","Close") Com isso a conexão será fechada após cada execução. Saludos. Luis Miyashita Dash Tecnologia de Sistemas e Consultoria Ltda http://www.dash.com.br Fone: 11-3141-1042 ----------

Aptha Soluções em TI

13/03/09 08:51
Olá, Tenho a seguinte situação. Tenho 2 datastores fazendo referencia a banco de dados diferentes, mas a estrutura dos bancos é a mesma. Se eu utilizar o tipo de dados DBConnection eu consigo ler os dois bancos em momentos diferentes, mas possuindo somente uma transação para cada tabela no modelo? Ou terei que duplicar as transações relacionadas aos datastores? Estou utilizando GX 9 VFP. Obrigado. Logo para assinatura e-mail Rogério Polizel Mendes Desenvolvimento www.aptha.com.br rogerio@aptha.com.br 19-34340225 19-81519856 NOD32 3934 (20090313) Information This message was checked by NOD32 antivirus system. http://www.eset.com

alison

06/07/16 18:22
Olá Pessoal, estou montando um teste com o DBConnection, porém não estou conseguindo a minha variavel &RES está sempre me retornando valor 3 e não esta conectando. Alguém já passou por isso? Segue codigo: EventStart &DBConnection= GetDataStore("Default") &DBConnection.UserName = 'genexus' &DBConnection.UserPassword = 'genexus' &DBConnection.JDBCDriverName='com.mysql.jdbc.Driver' &DBConnection.JDBCDriverURL='jdbc:mysql://localhost:3306/integra_pacs' //&DBConnection.ShowPrompt = 1 &Res= &DBConnection.Connect() Do case Case&Res= 0 &ConnOk= 'Y' msg('Conectado...') Otherwise &ConnOk= 'N' msg('Erro... '+&Res.ToString()) Endcase Endevent ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1 Por consultas owner-gx-l@gxtech.com.uy


Back to gx-l