
SQLSRV_SEND_STREAM_DATA 함수는 PHP의 sqlsrv_send_stream_data() 함수로, SQL Server에 데이터를 스트림으로 전송하는 데 사용됩니다. 이 함수를 사용하기 위해서는 먼저 데이터를 스트림 형태로 변환해야 합니다. 스트림 형태로 변환하는 방법은 다음과 같습니다.
1. 데이터를 바이너리 형태로 변환합니다. 예를 들어, PHP의 fopen() 함수를 사용하여 파일을 바이너리 형태로 열 수 있습니다.
2. 변환된 바이너리 데이터를 스트림 형태로 변환합니다. 예를 들어, PHP의 stream_get_contents() 함수를 사용하여 스트림을 문자열로 변환할 수 있습니다.
이 함수를 사용하여 데이터를 전송하는 경우, 데이터의 크기 제한은 없습니다. 하지만, SQL Server의 버퍼 크기 제한에 따라 데이터의 크기가 제한될 수 있습니다. SQL Server의 버퍼 크기 제한은 2GB로, 데이터의 크기가 이보다 큰 경우 버퍼 오버플로우가 발생할 수 있습니다.
스트림 형태의 데이터를 전송하는 예제는 다음과 같습니다.
#hostingforum.kr
php
// 바이너리 데이터를 스트림 형태로 변환
$stream = fopen('example.bin', 'rb');
$data = stream_get_contents($stream);
// SQLSRV_SEND_STREAM_DATA 함수를 사용하여 데이터를 전송
$stmt = sqlsrv_query($conn, 'INSERT INTO 테이블명 (컬럼명) VALUES (?)');
sqlsrv_send_stream_data($stmt, $data);
// 데이터를 전송한 후, SQL Server에 데이터를 저장합니다.
sqlsrv_commit($conn);
이 예제에서는 바이너리 데이터를 스트림 형태로 변환한 후, SQLSRV_SEND_STREAM_DATA 함수를 사용하여 데이터를 전송합니다. 데이터를 전송한 후, SQL Server에 데이터를 저장합니다.
2025-07-16 15:35