データの初期セットとしてDBに画像やファイルのデータを入れたいときの方法。Accessだかフォームだかのツールを使う例が多いが、正直そんなのやってられないのでSQLだけで対処する方法です。
CREATE TABLE myTable(Id nvarchar(max), Document varbinary(max))
INSERT INTO myTable(Id,Document)
SELECT 1,img.BulkColumn
FROM (SELECT * FROM OPENROWSET(BULK N'D:\temp\1.jpg',SINGLE_BLOB) AS i ) img
注意点としては、指定するパスはDBサーバー上のものでないといけない、という点(ローカルのパスを指定してもファイルがないといわれる)。
また、実行には一括処理の行える権限(sysadminかbuiladmin?)が必要。
参考
http://weblogs.sqlteam.com/peterl/archive/2007/09/26/Insert-binary-data-like-images-into-SQL-Server-without-front-end.aspx
0 件のコメント:
コメントを投稿