2017-11-28 3 views
0

SQL Serverにイメージを挿入しようとしてエラーが発生します。指定した列の番号は、指定した値と一致します。SQL Server 2014にファイルイメージを追加するとエラーが発生する

メッセージ120、レベル15、状態1、行152
INSERT文の選択リストには、挿入リストよりも少ない項目が含まれています。 SELECT値の数は、INSERT列の数と一致する必要があります。

挿入文:

INSERT INTO Residents (FName, MName, LName, 
         BDate, BPlace, BOrder, Age, 
         CStatusID, Gender, Religion, Nationality, 
         BloodType, ContactNo, Photo) 
    SELECT 
     'Racel', 'Palomares', 'Ruperez', 
     '1999-05-10', 'Negros', 3, 18, 
     1 'F', 'Roman Catholic', 'Filipino', 
     'B+', '09173399068', BulkColumn 
    FROM 
     OPENROWSET(BULK 'C:\Users\thesisadmin\Downloads\120.jpg', Single_Blob) AS ResidentPicture 
+3

「1」と「F」の間にカンマがありません。 – MatSnow

+0

ああああ さらに別のエラーが発生しました: メッセージ4861、レベル16、状態1、行152 ファイル "C:\ Users \ thesisadmin \ Downloads \ 120.jpg"を開くことができなかったため、一括読み込みできません。オペレーティングシステムエラーコード5(アクセスが拒否されました)。 – JJJ

+0

https://stackoverflow.com/questions/14555262/cannot-bulk-load-operating-system-error-code-5-access-is-denied – MatSnow

答えて

0

また1'F'の間にカンマが欠落しています。

INSERT INTO 
    Residents(FName, MName, LName, BDate, BPlace, BOrder, Age, CStatusID, 
     Gender, Religion, Nationality, BloodType, ContactNo, Photo) 
SELECT 
    'Racel', 'Palomares', 'Ruperez', '1999-05-10', 'Negros', 3, 18, 1, 'F', 
     'Roman Catholic', 'Filipino', 'B+', '09173399068',BulkColumn 
From 
    Openrowset(Bulk 'C:\Users\thesisadmin\Downloads\120.jpg', Single_Blob) as ResidentPicture 
+0

説明のためにいくつかを追加することができます –

0

以下のスクリプトを試してみるとよいでしょう。私は推測

INSERT INTO Residents 
(FName, MName, LName, BDate, 
    BPlace, BOrder, Age, CStatusID, 
    Gender, Religion, Nationality, BloodType, 
    ContactNo, Photo) 
SELECT 'Racel', 'Palomares', 'Ruperez', '1999-05-10', 
    'Negros', 3, 18, 1, 'F', 
    'Roman Catholic', 'Filipino', 
    'B+', '09173399068',BulkColumn 
From 
Openrowset(Bulk 'C:\Users\thesisadmin\Downloads\120.jpg', Single_Blob) as ResidentPicture 

、問題はあなたがselect文(8日と9日のパラメータ)で1と「F」の間にカンマを逃したということです。

+0

はい。別のエラーが発生しました: メッセージ4861、レベル16、状態1、行156 "C:\ Users \ thesisadmin \ Downloads \ 120.jpg"ファイルを開くことができなかったため、バルクロードできません。オペレーティングシステムエラーコード5(アクセスが拒否されました)。 – JJJ

+0

MSSQL Serverのアクセス可能な場所からファイルをロードできますか? – Shammas

0

問題はファイルのアクセス許可です。このファイルは、サービスアカウントで実行されているsqlserver.exeによってアクセスされます。サービスは読み取りアクセス権を持つSQL Serverのフォルダにファイルを入れて、

Cのように:\ Program Files \ MicrosoftのSQLサーバ\ MSSQL14.SQL2017 \ MSSQL \バックアップ

あなたはそれからファイルを読み込むことができます表示されますそこ。

長期:指定されたフォルダに対してNTFSアクセス許可を構成します。

関連する問題