Autor Tópico: Connection x Analysis  (Lida 2361 vezes)

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Connection x Analysis
« Online: Janeiro 12, 2012, 07:07:31 pm »
Esta dúvida é mais conceitual do que técnica.

Na Analysis eu criei uma ConnectionX para o banco "X", importei algumas tabelas, etc
Criei uma Window com uma Table que está mostrando os dados de uma tabela do banco "X". Tudo correto.

Eu quero, em tempo de execução, na abertura da Window criar uma ConnectionY para usar o banco "Y" ao invés do banco "X" (ambos possuem a mesma estrutura, porém com dados diferentes). Em Project Code criei a conexão para o banco "Y" com servidor, IP, usuário, banco, etc e a conexão funciona. PORÉM, a minha Table insiste em mostrar os dados da ConnectionX a qual está vinculada à Analysis.

Como fazer para a Window/Table mostrar os dados da ConnectionY?

Grato.

zerloti

  • Jr. Member
  • **
  • Mensagens: 78
  • Karma: +0/-0
Re:Connection x Analysis
« Responder #1 Online: Janeiro 13, 2012, 08:53:26 am »
Bom Dia Jacques,
Quando diz "possuem a mesma estrutura, porém com dados diferentes", pressupoe que o nome da tabela também é o mesmo ?,
Mas mesmo assim qual seria o problema de adcionar na analise a tabela do banco Y, poderia utilizar como as tabelas do banco X.
Eu utilizo isso quando migro dados de um banco para outro.

Quanto a table, poderia popular ela por programação , segue abaixo exemplo do Davi; 

dadostmp is data source
HExecuteSQLQuery(dadostmp ,Banco,hQueryWithoutCorrection,"SELECT codigo, nome FROM clientes")
Hreadfirst(dadostmp)

Tabledeleteall(TABLE_Clientes)

While NOT Hout(dadostmp)


   tableaddline(TABLE_clientes, dadostmp.codigo, dadostmp.nome)

   Hreadnext(dadostmp)
END


espero ter ajudado
boa sorte
att luciano

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Connection x Analysis
« Responder #2 Online: Janeiro 13, 2012, 09:13:39 am »
Bom dia.
Eu descrevi mal a necessidade. Tenho dois bancos iguais na estrutura, tabelas, campos, etc porém com dados diferentes, um é meu e outro do cliente.
Banco X - no desenvolvimento
Banco Y - no cliente
Na prática fiz a Analysis (ConnectionX) usando o meu banco e quero rodar o aplicativo com o banco do cliente.
Ao abrir a janela, a Table acessa a ConnectionX mesmo eu definindo na abertura do aplicativo uma ConnectionY apontando para o servidor, banco, etc do cliente.

Como faço para a Table (e demais componentes) obedecerem a ConnectionY (criada na execução) e não a ConnectionX criada no desenvolvimento da Analysis?

Grato e tenham um bom final de semana.

Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Re:Connection x Analysis
« Responder #3 Online: Janeiro 13, 2012, 09:52:33 am »
depois que você abriu a nova conexão com o

HOpenConnection(OBJconexao)
      
você deve dizer para o windev trocar a coneção das tabelas da sua analise


HChangeConnection("*",OBJconexao)   

o * signifca todas as tabelas, se deseja especificar uma unica tabela mude o * pelo nome da tabela.

JacquesBica

  • Full Member
  • ***
  • Mensagens: 197
  • Karma: +0/-0
  • Boas cercas fazem bons vizinhos
Re:Connection x Analysis
« Responder #4 Online: Janeiro 13, 2012, 10:35:49 am »
 ;D *** BINGO ***  ;D

Ganhei o dia. Com isso também resolvo o uso da transação com o comando

SQLTransaction(sqlStart,MyConnectionMSSQL)

Bastará criar uma nova conexão na aplicação e alterá-la após aberta.

Grato a todos que ajudaram.