복붙노트

[SQL] SQL 스크립트를 통해 BLOB입니까?

SQL

SQL 스크립트를 통해 BLOB입니까?

나는 H2 데이터베이스 (http://www.h2database.com)하고 난 (예를 들어 테스트 데이터베이스를 채 웁니다) 일반 간단한 SQL 스크립트를 통해 BLOB 필드에 파일을 삽입하고 싶습니다. 나는 코드를 통해이 작업을 수행하는 방법을 알고 있지만 나는 SQL 스크립트 자체를 수행하는 방법을 찾을 수 없습니다.

I 경로를 통과하는 시도, 즉

INSERT INTO mytable (id,name,file) VALUES(1,'file.xml',/my/local/path/file.xml);

하지만이 실패합니다.

코드 (예를 들어 자바) 내에서,이 파일 객체를 생성하고 전달하기 쉽지만, 직접 SQL 스크립트에서, 나는 붙어 ...

어떤 생각?

데이비드

해결법

  1. ==============================

    1.테스트를 위해, 당신은 문자 그대로의 진수 바이트를 삽입 할 수 있습니다 또는 아래와 같이 RAWTOHEX (문자열) 함수를 사용합니다.

    테스트를 위해, 당신은 문자 그대로의 진수 바이트를 삽입 할 수 있습니다 또는 아래와 같이 RAWTOHEX (문자열) 함수를 사용합니다.

    create table a(id integer, item blob);
    insert into a values(1,'54455354');
    insert into a values(2, RAWTOHEX('Test'));
    select UTF8TOSTRING(item) from a;
    TEST
    Test
    

    부록은 : 파일에서로드 BLOB 필드의 경우, FILE_READ (fileNameString)은 유용한 대안이 될 수 있습니다.

    insert into a values(3, FILE_READ('file.dat'));
    
  2. ==============================

    2.아니 h2database하지만 도움이 될 수 있습니다; http://jerrytech.blogspot.com/2009/03/tsql-to-insert-imageblog.html

    아니 h2database하지만 도움이 될 수 있습니다; http://jerrytech.blogspot.com/2009/03/tsql-to-insert-imageblog.html

  3. from https://stackoverflow.com/questions/2607326/insert-a-blob-via-a-sql-script by cc-by-sa and MIT license