allenprado 0 Denunciar post Postado Setembro 17, 2015 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) Compartilhar este post Link para o post Compartilhar em outros sites