테스트 사이트 - 개발 중인 베타 버전입니다

프로시저 사용법좀 알려주십시오

php에서 asp프로시저에 연결하려하는데 도무지 해결이 안됩니다. 

아래는 샘플입니다. 

$key1 xml 형식으로 처리하는 구문입니다. 
$key2 ''처리에 문제가 있나 싶은데 구글링해봐도 잘모르겠네요 

mssql_execute($stmt); 오류가 납니다. 
Warning: mssql_execute() [function.mssql-execute]: stored procedure execution failed in 


$Key1="N'<ROOT> 
<DataBlock></DataBlock> 
</ROOT>'"; 
$Key2="N''"; 



디비에서 직접 아래와 같이 쿼리를 하면 정상적입니다. 

exec 프로시저명 @Key1=N'<ROOT> 
<DataBlock></DataBlock> 
</ROOT>',@Key2=N'',@Key3=1


아래는 전체 소스입니다.

<?php 
$hostName=""; 
$userName=""; //mssql id 
$password="";//mssql pass 
$dbName="";//mssql db 


$conn=mssql_connect($hostName,$userName,$password); 

if ($conn) { 
    mssql_select_db($dbName,$conn); 
    $stmt=mssql_init("프로시저명",$conn);//프로시저명 
    
   $Key1="N'<ROOT>
<DataBlock1></DataBlock1>
</ROOT>'";
   $Key2="N''";
   $Key3=1;

    mssql_bind($stmt,"@Key1",$Key1,SQLVARCHAR); 
    mssql_bind($stmt,"@Key2",$Key2,SQLVARCHAR); 
    mssql_bind($stmt,"@Key3",$Key3,SQLINT2); 


    
    $result=mssql_execute($stmt); 
    $arr=mssql_fetch_row($result); 

echo"$arr[Key1]"; 
    
    mssql_close($conn); 
}else{echo"연결실패";} 
?> 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

우선 phpinfo() 이용하여 mssql 확장되어 있는지 확인 해봐야합니다.
없으면 패치확장하구요 현재 위 방식 보니 php4 혹은 php5 최신 버전 아닌것 같습니다.
php5라면 pdo 추천합니다.
모든 sql 명령어 바뀌지 않은 상태에서 다양한 디비로 쉽께 바꿀수있습니다.
답변 감사합니다.
mssql 확장 확인했습니다.
실 디비에서 데이타를 가져오는것도 처리했구요... 프로시저쪽 접근하는게 에러가 나는상황입니다.
pdo쪽은 안해봤는데 찾아봐야겠네요

게시글 목록

번호 제목
28080
7612
7598
7595
19842
28079
19840
7593
28076
7590
28072
28065
19836
7586
28058
7573
31754
7552
28057
30993
28052
7546
7544
7538
7519
30992
19834
7517
7512
7511
19832
19820
7509
24658
7508
7507
19818
30990
7506
7505
7498
7492
28051
7481
30988
19813
19812
7477
7476
7471
7467
19810
7464
19809
7463
7457
30980
7450
28043
7447
7440
28040
7438
7430
7427
7423
7414
7408
7405
7401
7400
19808
7398
7393
7389
19805
7382
7379
7378
7363
7361
7356
19804
7355
7352
19786
7342
7336
7332
19783
7328
7325
7324
28036
19782
7321
26574
7314
7312
19781