Passar registos de mysql para sqlserver [RESOLVIDO]

Boas,

Tenho uma grid ligada ao uma DB/Tabela em Mysql no servidor A.
Pretendo ter um botão RUN que após determinada condição, passe os registos da base de dados/tabela em Mysql para um servidor B que contem uma DB/Tabela em SQLSERVER.

Alguém de ajuda como posso fazer isto ?

Obrigado.
Luis

na macro sc_exec_sql pode-se definir o parâmetro de qual conexão usar.
Basta você criar a conexão do sqlserver no projeto, e utilizar no parâmetro da macro sc_exec_sql (que irá inserir os dados no banco mssql )

ok

Vou ver se consigo chegar lá.

Obrigado pela ajuda

// sc_exec_sql("INSERT INTO tgsms (Emp,Numinterno,SMSTelefono,SMSTexto) (select ‘001’,’{codindex}’,’{tel1}’,’{texto_sms}) WHERE cod = ‘{cod}’,“conn_169” ");

Algo assim estaria correcto? Está a dar erro.

O que eu queria era pegar nos dados de uma tabela que esta em mysql e passar os mesmo para outra base de dados em sqlserver
Neste caso tenho uma conexão “conn_169” - ligação ao sqlserver

obrigado pela ajuda

$sql = "insert ....";
sc_exec_sql($sql,"conn_169");

$sql = "INSERT INTO tgsms (Emp,Numinterno,SMSTelefono,SMSTexto) SELECT ('001','{codindex}','{tel1}','{texto_sms}) WHERE cod = '{cod}'"; sc_exec_sql($sql,"conn_169");

Quando corre dá o seguinte erro:

ERRO Erro ao aceder a base de dados Unclosed quotation mark after the character string ''. [20018] (severity 15) [(null)] INSERT INTO tgsms (Emp,Numinterno,SMSTelefono,SMSTexto) SELECT ('001','32587209','965130295','teste' ) WHERE cod = '209'

Obrigado pela ajuda Ronyan

Não seria assim ?

$sql = "INSERT INTO tgsms (Emp,Numinterno,SMSTelefono,SMSTexto) VALUES ('001','".{codindex}."','".{tel1}."','".{texto_sms}."') WHERE cod = ". {cod};
sc_exec_sql($sql,"conn_169"); 

Bom dia,

ERRO Erro ao aceder a base de dados Incorrect syntax near the keyword 'WHERE'. [20018] (severity 15) [(null)] INSERT INTO tgsms (Emp,Numinterno,SMSTelefono,SMSTexto) VALUES ('001','90134317','965845345','') WHERE cod = 317

Dá o mesmo erro, parece que não consegue ligar-se ao SQLSERVER !!!

Já agora aproveito para referir que a grid é em mysql, o código é um botão com a opção RUN em PHP:

$sql = "INSERT INTO tgsms (Emp,Numinterno,SMSTelefono,SMSTexto) VALUES ('001','".{codindex}."','".{tel1}."','".{texto_sms}."') WHERE cod = ". {cod}; sc_exec_sql($sql,"conn_169");

A ligação “conn_169” é uma das 2 ligações que tenho no projeto, sendo esta para uma DB em SQLSERVER.

Obrigado, mais alguma sugestão?

O erro não foi de comunicação, foi de sintaxe. Retira toda a parte da WHERE que o comando irá funcionar normalmente para inserir os dados.

Obrigado pela ajuda Ronyan. Resultou :slight_smile:

Coloca como “resolvido” lá na primeira postagem por favor!