java-l |
| jlozada | |
Buenas tardes estimAdos estoy intentando hacer una conexión dinámica a base de datos con el tipo de dato DBConnection . Lo estoy ejecutando con Gx16 U5, Java con MySQL, y con SQL Se configuró la propiedad Before Connect y en el procedimiento relacionado se tiene lo siguiente En un web panel Login capturo las cookies &CookieOk = SetCookie("User",&Usuario,"", NullValue(&Today)) &CookieOk = SetCookie("Pass",&Password,"", NullValue(&Today)) Procedimiento CONNECT &Usuario = GetCookie('User') &Passw0rd = GetCookie('Pass') Do Case Case &Usuario = 'usuario' &GetDatastore = 'Default' &DataBase = 'agencia' Case &Usuario = 'usuario2' &GetDatastore = 'Dias' &DataBase = 'diasfestivos' Case &Usuario = 'usuario3' &GetDatastore = 'NetMySql' &DataBase = 'pruebas' Otherwise &DataBase = "Default_Error" //default database EndCase //////////////////////// Java //////////////////////////////////////////// &dbconn = GetDatastore(&GetDatastore) &dbconn.JDBCDriverName = "com.mysql.jdbc.Driver" &dbconn.JDBCDriverURL = "jdbc:mysql://genexus/" + &DataBase.Trim() //agencia" &dbConn.UserName = &Usuario.Trim() &dbConn.UserPassword = &Passw0rd.Trim() ////////////////////////////////////////////////////////////////////////////// Funciona con una sola BD, pero el tema es cuando tengo Data View en otra BD, y quiero saber si es posible asignar a un usuario varias conexiones a BD, ya que este mismo puede tener acceso a varias BD que estan con Data View. En las propiedades de la BD deben estar en blanco ? asi lo he estado haciendo Y tambien como puedo conectar con SQL, ya que me sale error de driver Intente con esto: //&dbconn = GetDatastore("Default") &dbconn = GetDatastore("PruebaSQL") &dbconn.JDBCDriverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver" &dbconn.JDBCDriverURL = "jdbc:microsoft:sqlserver://genexus:1433;databaseName=" + "integraafp" + ";SelectMethod=cursor" //&dbconn.ConnectionData = "DATABASE=" + &DataBase.Trim() //SQLServer &dbConn.UserName = &Usuario.Trim() &dbConn.UserPassword = &Passw0rd.Trim() Saludos, Juan Luis Lozada C. ----------------------------------------- Para Suscribirse/Desuscribirse: http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,20 Por consultas owner-java-l@gxtech.com.uy |
|
|
| | |
dhnasci | |
Bom dia Juan,
Para vc trabalhar com vários DataViews conectados a vários BDs, basta vc
usar a ferramenta
Tools > Database Reverse Engineering
Vai importando as Views de forma organizada, associando as DataStores
corretas. Sugiro primeiro vc criar as DataStores, antes de usar a
ferramenta e testar a conexão para ver se está tudo bem.
Se as tabelas tiverem o mesmo nome nos vários BDs, basta colocar um prefixo
que as diferencie no seu ambiente de trabalho. Assim vc não precisa usar
o código Java para trabalhar com dbconn. Basta usar direto as Views, que
já estarão apontando para o banco correto, usando xFor each
Atenciosamente,
*Dirceu HenriqueAnalista de Sistemas*
*www.dnconsultoria.manaus.br *
Em sex, 18 de out de 2019 às 18:45, Juan Luis Lozada <
juanluislozadac@gmail.com> escreveu:
> Buenas tardes estimAdos estoy intentando hacer una conexión dinámica a
> base de datos con el tipo de dato DBConnection . Lo estoy ejecutando con
> Gx16 U5, Java con MySQL, y con SQL
> Se configuró la propiedad Before Connect y en el procedimiento relacionado
> se tiene lo siguiente
>
> En un web panel Login capturo las cookies
> &CookieOk = SetCookie("User",&Usuario,"", NullValue(&Today))
> &CookieOk = SetCookie("Pass",&Password,"", NullValue(&Today))
>
> Procedimiento CONNECT
>
> &Usuario = GetCookie('User')
> &Passw0rd = GetCookie('Pass')
>
> Do Case
> Case &Usuario = 'usuario'
> &GetDatastore = 'Default'
> &DataBase = 'agencia'
> Case &Usuario = 'usuario2'
> &GetDatastore = 'Dias'
> &DataBase = 'diasfestivos'
> Case &Usuario = 'usuario3'
> &GetDatastore = 'NetMySql'
> &DataBase = 'pruebas'
> Otherwise
> &DataBase = "Default_Error" //default database
> EndCase
>
> //////////////////////// Java
> ////////////////////////////////////////////
> &dbconn = GetDatastore(&GetDatastore)
> &dbconn.JDBCDriverName = "com.mysql.jdbc.Driver"
> &dbconn.JDBCDriverURL = "jdbc:mysql://genexus/" + &DataBase.Trim()
> //agencia"
> &dbConn.UserName = &Usuario.Trim()
> &dbConn.UserPassword = &Passw0rd.Trim()
>
> //////////////////////////////////////////////////////////////////////////////
>
> Funciona con una sola BD, pero el tema es cuando tengo Data View en otra
> BD, y quiero saber si es posible asignar a un usuario varias conexiones a
> BD, ya que este mismo puede tener acceso a varias BD que estan con Data
> View.
>
> En las propiedades de la BD deben estar en blanco ? asi lo he estado
> haciendo
>
> Y tambien como puedo conectar con SQL, ya que me sale error de driver
> Intente con esto:
> //&dbconn = GetDatastore("Default")
> &dbconn = GetDatastore("PruebaSQL")
> &dbconn.JDBCDriverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"
> &dbconn.JDBCDriverURL =
> "jdbc:microsoft:sqlserver://genexus:1433;databaseName=" + "integraafp" +
> ";SelectMethod=cursor"
> //&dbconn.ConnectionData = "DATABASE=" + &DataBase.Trim() //SQLServer
> &dbConn.UserName = &Usuario.Trim()
> &dbConn.UserPassword = &Passw0rd.Trim()
>
>
>
> Saludos,
>
> Juan Luis Lozada C.
>
>
-----------------------------------------
Para Suscribirse/Desuscribirse:
http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,20
Por consultas owner-java-l@gxtech.com.uy |
|
|
|
|
Back to java-l |
|