plots
테이블에 이미지 파일의 이진 데이터를 저장하는 열이 plot
인 테이블이 있습니다. R 스크립트를 호출하고 삽입 할 데이터의 데이터 프레임을 가져 오는 T-SQL 쿼리를 실행하고 있습니다. 데이터 프레임은 다음과 같습니다.R 스크립트에서 SQL Server VARBINARY 열에 삽입
plot name date_from date_to
1 ABCDEF plot1 2016-08-25 2016-08-31
2 AAAAAA plot2 2016-08-25 2016-08-31
알 수 있듯이 플롯 열에는 원시 데이터가 이미 포함되어 있습니다.
명확히하기 위해 데이터 프레임에 데이터가있는 데이터베이스에 두 행을 삽입하는 것으로 데이터 프레임 열 이름이 데이터베이스 열과 일치합니다.
내가
INSERT INTO dbo.plots
EXECUTE sp_execute_external_script
@language = N'R'
,@script = N'source("path/to/r/script.R")'
,@output_data_1_name = N'output_dataset'
으로 받고 있어요 문제는 "허용되지 않습니다 VARBINARY (최대)로 데이터 형식 NVARCHAR (최대)에서 암시 적 변환.이 쿼리를 실행하려면 CONVERT 함수를 사용하여"입니다.
그러나이 오류를 어떻게 해결할 수 있는지 잘 모르겠습니다. CONVERT 기능은 어디에 두어야합니까? 아니면 다른 방법이 있습니까?
클래스가 일치합니까? 다음을 참조하십시오 : https://msdn.microsoft.com/en-us/library/mt590948.aspx –
대량으로 삽입 한 다음 임시 테이블에서 테이블 삽입으로 변환 할 수 있습니다. – scsimon
@ PawełDyl 흠, 16 진수 표현이 있습니다. 그냥 문자열, 즉 "ABCDEF" – clb