Tidak dapat memuat massal karena file tidak dapat dibuka. Kode Kesalahan Sistem Operasi 3

Saya mencoba menyiapkan Prosedur Tersimpan sebagai Pekerjaan Agen SQL Server dan itu memberi saya kesalahan berikut,

Tidak dapat memuat massal karena file "P:\file.csv" tidak dapat dibuka. Kode kesalahan sistem operasi 3 (gagal mengambil teks untuk kesalahan ini. Alasan: 15105). [SQLSTATE 42000] (Kesalahan 4861)

Lucunya, Stored Procedure berfungsi dengan baik ketika saya menjalankannya secara manual.

Drive P: adalah drive bersama pada Windows SQL Server dari LINUX melalui Samba Share dan diatur dengan menjalankan perintah berikut,

EXEC xp_cmdshell 'net use P: "\lnxusanfsd01\Data" Password /user:username /Persistent:Yes'

Bantuan apa pun tentang ini akan sangat dihargai

Saya tidak tahu apakah Anda memecahkan masalah ini, tetapi saya memiliki masalah yang sama, jika instance lokal Anda harus memeriksa izin untuk mengakses file, tetapi jika Anda mengakses dari komputer Anda ke server (akses jarak jauh) Anda harus menentukan jalur di server, jadi itu berarti menyertakan file di direktori server, yang memecahkan kasus saya

contoh:

BULK INSERT Table
FROM 'C:\bulk\usuarios_prueba.csv' -- This is server path not local
WITH 
  (
     FIELDTERMINATOR =',',
     ROWTERMINATOR ='\n'
  );
Komentar (3)

Untuk menjaga ini tetap sederhana, Saya hanya mengubah direktori tempat saya mengimpor data ke folder lokal di server.

Saya memiliki file yang terletak di folder bersama, saya hanya menyalin file saya ke "c:\TEMP\Reports" di server saya (memperbarui kueri ke BULK INSERT dari folder baru). Tugas Agen berhasil diselesaikan :)

Akhirnya setelah sekian lama saya bisa BULK Insert secara otomatis melalui tugas agen.

Salam hangat.

Komentar (0)

Ini mungkin masalah perizinan, tetapi Anda perlu memastikan untuk mencoba langkah-langkah ini untuk memecahkan masalah:

  • Letakkan file di drive lokal dan lihat apakah pekerjaannya berhasil (Anda tidak perlu akses RDP jika Anda dapat memetakan huruf drive di workstation lokal Anda ke direktori di server database)
  • Letakkan file pada direktori jarak jauh yang tidak memerlukan nama pengguna dan kata sandi (memungkinkan Semua orang membaca) dan gunakan jalur UNC (\server\directory\file.csv)
  • Konfigurasikan pekerjaan SQL untuk dijalankan sebagai nama pengguna Anda sendiri
  • Konfigurasikan job SQL untuk dijalankan sebagai sa dan tambahkan perintah net use dan net use /delete sebelum dan sesudahnya

Ingatlah untuk membatalkan perubahan apa pun (terutama menjalankan sebagai sa). Jika tidak ada lagi yang berhasil, anda bisa mencoba untuk mengubah bulk load menjadi tugas terjadwal, berjalan pada server database atau server lain yang memiliki bcp yang sudah terinstal.

Komentar (4)