Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Erro em Rodar Procedure SQL Server por PHP

$
0
0

Blz Galera

 

Precisando de uma ajuda urgente...

 

Estou tentando fazer minha pagina de PHP rodar uma procedure mas das duas formas que estou tentando a pagina retorna erro, a procedure roda normalmente pelo sql server.

 

Ja verifiquei schema, parâmetros estão sendo enviados...

 

O select da Procedure roda em Link server para uma base oracle e alimenta uma base SQL server, porem necessita de dois parametros uma data e um ciclo.

 

Segue scripts

 

// =================inicio do script====================

<?php 
session_start();
session_cache_expire(3000);
set_time_limit(3000);
ini_set(max_execution_time, '3600');
ini_set(max_input_time, '3600');
error_reporting( E_ALL);
include "conexaoSqlServer.php";
include "classes.php";
 
 
 
$ref_fat     =    $_POST['ref_fat'];
$ciclo       =    $_POST['ciclo'];
 
$ref_fatx = FormataDataInversoSemHifem($ref_fat);
 
//================Primeira Forma =======================   
/* Preparar o recurso instrução 
   $Stmt = mssql_init("SP_ARQUIVO_CICLO_ATUAL",$conexao) or die("Erro Inicializacao Procesure");
   /* Agora vincular os parâmetros para ela 
   mssql_bind($Stmt, "@ref_fat", $ref_fatx, SQLVARCHAR , FALSE) or die("Erro Parametro 1");
   mssql_bind($Stmt, "@ciclo", $ciclo, SQLVARCHAR, FALSE) or die("Erro Parametro 2");
   /* Agora executar o procedimento 
   mssql_query("SET ANSI_NULLS ON");
   mssql_query("SET ANSI_WARNINGS ON"); 
   mssql_execute($Stmt) or die("Erro de mssql_execute");
   mssql_free_result($Stmt); 
   mssql_close($conexao);
   echo mssql_get_last_message(); */
 
//================Segunda Forma =======================  
 
   $query = "exec SP_ARQUIVO_CICLO_ATUAL '$ref_fatx', '$ciclo'";
   mssql_query("SET ANSI_NULLS ON");
   mssql_query("SET ANSI_WARNINGS ON");
   mssql_query($query,$conexao) or die("Erro Não Rodou");
 
 
//==============PROCEDURE SCRIPT====================
 
USE [Portal]
GO
/****** Object:  StoredProcedure [dbo].[SP_ARQUIVO_CICLO_ATUAL]    Script Date: 14/09/2015 18:25:15 ******/
Set ANSI_NULLS ON
Set ANSI_WARNINGS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER PROCEDURE [dbo].[SP_ARQUIVO_CICLO_ATUAL](@ref_fat varchar(8), @ciclo varchar(10)) 
 
 
AS
 
declare @aux varchar(max)
--@ref_fat varchar(8) = '20150310', @ciclo varchar(2) = '10'
 
TRUNCATE TABLE tbl_arquivo_faturado
 
 
 
set @aux = 'SELECT * FROM OPENQUERY (DTBN, ''SELECT /*+ PARALLEL (CCI 8)*/ CCI.ACCT_NBR,CCI.SBSCRP_ID,S.ACCESS_NBR,S.SBSCRP_SVC_EXPR_DT,null as ACCESS_NBR_EFF_DT,null as ACCESS_NBR_ASGM_EXPR_DT,null REASON_CD, 
CCI.CAPTN_CD,CCI.SVC_NAME,CCI.FNCL_ACCT_NBR,CCI.GEO_STATE_CD"UF_SBS",CCI.SVC_AGRMNT_SEQ_NBR,CCI.SVC_PRICE_SEQ_NBR,CCI.LAST_BILL_DT,CCI.CYCLE_CD,CCI.CHARGE_CR_AMT,
CCI.SVC_AGRMNT_EFF_DT,CCI.CHARGE_ITEM_START_DT,CCI.CHARGE_ITEM_END_DT,CCI.CHARGE_TYPE_CD
FROM   CHARGE_CR_ITEM@PRODLK CCI, SBSCRP S
WHERE  CCI.SBSCRP_ID = S.SBSCRP_ID      
AND    CCI.LAST_BILL_DT = ' + @ref_fat + '
AND    CCI.CYCLE_CD = ' + @ciclo + '
AND    CCI.FNCL_ACCT_NBR IN (''''SEGUROSACE000'''',''''SEGUROZURICH000'''',''''SEGMAPFRE.000'''')'')'
 
INSERT INTO tbl_arquivo_faturado
 
exec (@aux)

 


Viewing all articles
Browse latest Browse all 14190