msource Posted May 4, 2016 Report Share Posted May 4, 2016 Bom dia pessoal, será que alguém me pode tirar uma dúvida, por favor? Tenho uma instrução para ir busar determinados dados via ODBC com o seguinte código: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SECTOR DE ACTIVIDADE echo "<b>SECTOR DE ACTIVIDADE</b>"; echo "<table>"; echo "<tr>"; echo "<th>COD.</th>"; echo "<th>DESCRICAO</th>"; echo "</tr>"; $querySA = "SELECT ttcmcs031512.t_cbrn, ttcmcs031512.t_dsca FROM ttcmcs031512 WHERE ttcmcs031512.t_dsca <> ' ';"; $resSA = odbc_exec($conn, $querySA); if(!$resSA){ echo "Erro SQL: <br>".$resSA.""; }else{ while(odbc_fetch_row($resSA)){ $t_cbrn = trim(odbc_result($resSA,"t_cbrn")); // CHAVE/CODIGO DE SECTOR ACTIVIDADE $t_dsca = trim(odbc_result($resSA,"t_dsca")); // DESCRIÇÃO DO SECTOR DE ACTIVIDADE echo"<tr>"; echo "<td>".$t_cbrn."</td>"; echo "<td>".$t_dsca."</td>"; echo"</tr>"; } Agora preciso de importar estes dados para uma base de dados SQL Server 2014. Como posso fazer? Dentro do While estava a pensar colocar o seguinte: while(odbc_fetch_row($resSA)){ $t_cbrn = trim(odbc_result($resSA,"t_cbrn")); // CHAVE/CODIGO DE SECTOR ACTIVIDADE $t_dsca = trim(odbc_result($resSA,"t_dsca")); // DESCRIÇÃO DO SECTOR DE ACTIVIDADE echo"<tr>"; echo "<td>".$t_cbrn."</td>"; echo "<td>".$t_dsca."</td>"; echo"</tr>"; /////////////////////////////////////////////////////////////////////////////////// // INSERT/UPDATE SQL SERVER - TABELA dbo.Sectores*/ $queryS = "SELECT * FROM dbo.Sectores"; $stmt = sqlsrv_query( $cnSQL, $queryS ); if( $stmt === false){ die( print_r( sqlsrv_errors(), true) ); }else{ while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) { $sec = $row['CodSector']; //echo $sec; if ($t_dsca!=$sec){ $querySQL = "INSERT INTO dbo.Sectores (CodSector) VALUES (?)"; $param = array($t_dsca); }else{ $querySQL = "UPDATE dbo.Sectores set CodSector=(?) WHERE CodSector='$t_dsca'"; $param = array($t_dsca); } } //$insertReview = sqlsrv_prepare($cnSQL, $querySQL, $param); if( $insertReview === false ){ die( FormatErrors( sqlsrv_errors() ) ); } if( sqlsrv_execute($insertReview) === false ){ die( FormatErrors( sqlsrv_errors() ) ); } } } Mas assim não está a funcionar, como acham que posso fazer? Atentamente, MF Quote Link to comment Share on other sites More sharing options...
0 msource Posted May 12, 2016 Author Report Share Posted May 12, 2016 Em 5/4/2016 at 11:51, msource disse: Bom dia pessoal, será que alguém me pode tirar uma dúvida, por favor? Tenho uma instrução para ir busar determinados dados via ODBC com o seguinte código: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // SECTOR DE ACTIVIDADE echo "<b>SECTOR DE ACTIVIDADE</b>"; echo "<table>"; echo "<tr>"; echo "<th>COD.</th>"; echo "<th>DESCRICAO</th>"; echo "</tr>"; $querySA = "SELECT ttcmcs031512.t_cbrn, ttcmcs031512.t_dsca FROM ttcmcs031512 WHERE ttcmcs031512.t_dsca <> ' ';"; $resSA = odbc_exec($conn, $querySA); if(!$resSA){ echo "Erro SQL: <br>".$resSA.""; }else{ while(odbc_fetch_row($resSA)){ $t_cbrn = trim(odbc_result($resSA,"t_cbrn")); // CHAVE/CODIGO DE SECTOR ACTIVIDADE $t_dsca = trim(odbc_result($resSA,"t_dsca")); // DESCRIÇÃO DO SECTOR DE ACTIVIDADE echo"<tr>"; echo "<td>".$t_cbrn."</td>"; echo "<td>".$t_dsca."</td>"; echo"</tr>"; } Agora preciso de importar estes dados para uma base de dados SQL Server 2014. Como posso fazer? Dentro do While estava a pensar colocar o seguinte: while(odbc_fetch_row($resSA)){ $t_cbrn = trim(odbc_result($resSA,"t_cbrn")); // CHAVE/CODIGO DE SECTOR ACTIVIDADE $t_dsca = trim(odbc_result($resSA,"t_dsca")); // DESCRIÇÃO DO SECTOR DE ACTIVIDADE echo"<tr>"; echo "<td>".$t_cbrn."</td>"; echo "<td>".$t_dsca."</td>"; echo"</tr>"; /////////////////////////////////////////////////////////////////////////////////// // INSERT/UPDATE SQL SERVER - TABELA dbo.Sectores*/ $queryS = "SELECT * FROM dbo.Sectores"; $stmt = sqlsrv_query( $cnSQL, $queryS ); if( $stmt === false){ die( print_r( sqlsrv_errors(), true) ); }else{ while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) { $sec = $row['CodSector']; //echo $sec; if ($t_dsca!=$sec){ $querySQL = "INSERT INTO dbo.Sectores (CodSector) VALUES (?)"; $param = array($t_dsca); }else{ $querySQL = "UPDATE dbo.Sectores set CodSector=(?) WHERE CodSector='$t_dsca'"; $param = array($t_dsca); } } //$insertReview = sqlsrv_prepare($cnSQL, $querySQL, $param); if( $insertReview === false ){ die( FormatErrors( sqlsrv_errors() ) ); } if( sqlsrv_execute($insertReview) === false ){ die( FormatErrors( sqlsrv_errors() ) ); } } } Mas assim não está a funcionar, como acham que posso fazer? Atentamente, MF Alguém consegue ajudar, por favor? Quote Link to comment Share on other sites More sharing options...
0 Stoma Posted May 12, 2016 Report Share Posted May 12, 2016 Qual mensagem de erro aparece? Quote Link to comment Share on other sites More sharing options...
Question
msource
Bom dia pessoal, será que alguém me pode tirar uma dúvida, por favor?
Tenho uma instrução para ir busar determinados dados via ODBC com o seguinte código:
Agora preciso de importar estes dados para uma base de dados SQL Server 2014.
Como posso fazer?
Dentro do While estava a pensar colocar o seguinte:
Mas assim não está a funcionar, como acham que posso fazer?
Atentamente,
MF
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.