1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda com Stored Procedures e PHP

Discussão em 'Web Development' iniciada por sarocas, 27 de Setembro de 2007. (Respostas: 6; Visualizações: 1443)

  1. sarocas

    sarocas Power Member

    OlÁ!
    Tenho um pequeno problema ...
    tenho uma query sql num script php...

    $sproc11= "CREATE PROCEDURE spro_update10s
    AS
    DECLARE @SQL1 varchar(2000)
    DECLARE @SQL2 varchar(2000)
    DECLARE @Pathfilename varchar(255)
    SET QUOTED_IDENTIFIER OFF
    SET @SQL1 = 'DELETE FROM $dbuser.tbl_registos10'
    EXEC (@SQL1)
    SET @Pathfilename = (SELECT caminho FROM $dbuser.tbl_caminhos WHERE id = '1')
    EXEC (@Pathfilename)
    SET @SQL2 ='BULK INSERT $dbuser.tbl_registos10 FROM
    '''[email protected]+''' WITH (FIELDTERMINATOR = '','', FIRSTROW = 5)'
    EXEC (@SQL2)";
    mssql_query($sproc11,$link);


    é criada na base de dados na boa.

    mas quando é executada a stored proc noutro script dá-me um erro do genero: "incorrect syntax near '\'.
    nao sei se será da barra do caminho do ficheiro onde vai buscaroas dados que é do genero C:\...\... .dat.

    se exeutar a query directamente no sql server ele vai ao ficheiro, que esta na tabela caminhos da bd, buscar os dados e coloca-os na tabela registos 10...apesar de dar o mm erro!!!

    Alguem pode ajudar uma iniciante :confused: Please!!
     
  2. msdevweb

    msdevweb Power Member

    coloca aí o erro que te da, e explica melhor as circunstancias do erro (que script foi chamado, o que era pretendido, etc...)... e se por acaso no output do erro enumerar uma linha, identifica-a tambem... é que é muito vago o que escreves...
     
  3. sarocas

    sarocas Power Member

    Oi,OI!!
    Então eu peço ao user que introduza os caminhos de 3 ficheiros .dat para posteriormente a aplicação ir ai buscar dados. Armazeno esses caminhos na bd onde tenho 1a tabela caminhos, que armazena os tres caminhos e o id de cada um deles (1,2,3).
    Quero que a sp pegue no caminho cujo id é igual a 1, e vá colocar os dados existentes nesse ficheiro numa tabela (tbl_registos10).

    o erro que dá é "incorrect syntax near '\'
    Neste momento n consigo dizer mt mais porque n tenho onde testar pra colocar aki o erro exacto mas tb não diz mais nada...
    Desculpem se não ajudo muito... sou novata nisto..
    Desde já obrigado!!!
     
  4. sarocas

    sarocas Power Member

    o erro é o seguinte:

    (0 row(s) affected)
    Msg 102, Level 15, State 1, Line 1
    Incorrect syntax near '\'.
    (1 row(s) affected)
    (1 row(s) affected)
     
  5. sarocas

    sarocas Power Member

    No PHP tenho a seguinte query...

    $sproc11​
    = "CREATE PROCEDURE spro_update10s
    AS
    DECLARE @SQL1 varchar(2000)
    DECLARE @SQL2 varchar(2000)
    DECLARE @filename varchar(500)
    DECLARE @id int
    --Step 1: Limpa tabela
    SET @SQL1 = 'DELETE FROM user01.tbl_registos10'
    EXEC (@SQL1)
    SET @id = 1
    SET @filename = (SELECT caminho FROM user01.tbl_caminhos WHERE id = @id)
    --Step 1: Build Valid BULK INSERT Statement
    SET @SQL2 = 'BULK INSERT user01.tbl_registos10 FROM "
    [email protected]+" WITH (FIELDTERMINATOR = ',' , FIRSTROW = 5) '
    --Step 2: Execute BULK INSERT statement

    EXEC (@SQL2)"
    ;
    mssql_query($sproc11,$link);


    da o seguinte erro...
    PHP Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near '0'. (severity 15) in C:\......

    Uma luz!!! please...
     
  6. msdevweb

    msdevweb Power Member

  7. sarocas

    sarocas Power Member

    brigadão!!
     

Partilhar esta Página