Jika Anda mengalami kesalahan Msg 491, Level 16 "Nama korelasi harus ditentukan untuk kumpulan baris massal di klausa dari" di SQL Server, mungkin karena Anda mencoba membaca file tanpa menggunakan nama korelasi.
Saat Anda menggunakan OPENROWSET()
berfungsi dengan BULK
opsi, Anda harus memberikan nama korelasi (juga dikenal sebagai variabel rentang atau alias) di FROM
klausa.
Untuk memperbaiki kesalahan ini, cukup berikan nama/alias korelasi untuk kueri Anda.
Contoh Kesalahan
Berikut adalah contoh kode yang menyebabkan kesalahan ini.
SELECT BulkColumn FROM OPENROWSET (
BULK '/var/opt/mssql/bak/pets.json',
SINGLE_CLOB
);
Hasil:
Msg 491, Level 16, State 1, Line 4 A correlation name must be specified for the bulk rowset in the from clause.
Kesalahan terjadi karena saya lupa memasukkan nama korelasi.
Solusinya
Seperti yang disebutkan, untuk memperbaiki masalah ini, yang perlu kita lakukan hanyalah memberikan nama korelasi (juga dikenal sebagai variabel rentang atau alias).
SELECT BulkColumn FROM OPENROWSET (
BULK '/var/opt/mssql/bak/pets.json',
SINGLE_CLOB
) AS MyAlias;
Hasil:
+--------------+ | BulkColumn | |--------------| | { "pets" : { "cats" : [ { "id" : 1, "name" : "Fluffy", "sex" : "Female" }, { "id" : 2, "name" : "Long Tail", "sex" : "Female" }, { "id" : 3, "name" : "Scratch", "sex" : "Male" } ], "dogs" : [ { "id" : 1, "name" : "Fetch", "sex" : "Male" }, { "id" : 2, "name" : "Fluffy", "sex" : "Male" }, { "id" : 3, "name" : "Wag", "sex" : "Female" } ] } } | +--------------+