0

これは、スタック オーバーフローで見つけた動的 SQL ソリューションに対する質問の続きです。前の例で使用したコード モデルを使用したいと思います。問題は、次のエラーが発生することです: Msg 4104, Level 16, State 1, Line 1 マルチパート識別子 "ABC123.jpg" をバインドできませんでした。画像名が実際に読み込まれているため、その理由がわかりません。私は途方に暮れています。私はこの解決策を機能させることに非常に近づいていると感じていますが、この問題を乗り越えることはできません.

以下のサンプルコードを見つけてください。

declare AssetCursor cursor fast_forward for
    select Image_File_Name
        from Images

declare @sql nvarchar(4000)
declare @Image_File_Name varchar(50)

open AssetCursor      

while (1=1) begin
    fetch next from AssetCursor into @Image_File_Name

    if @@FETCH_STATUS<>0 break

    set @sql = N'UPDATE dbo.Images
                     SET Doc_Image = 
                         (SELECT * FROM 
                              OPENROWSET(BULK N''C:\MyImages\' + cast(@Image_File_Name as varchar(50)) + N'.JPG'', SINGLE_BLOB) AS img)
                              WHERE Image_File_Name = ' + cast(@Image_File_Name as varchar(50))

    exec(@sql)   
end /* while */

close AssetCursor
deallocate AssetCursor
4

1 に答える 1