Czy ktoś może mi w tym pomóc?
BULK INSERT DATABESE01.dbo.TABLE01
FROM '\\COMPUTER01\FOLDER01\TextFile.txt'
WITH
(
FIELDTERMINATOR = ' ',
rowterminator = '\n',
tablock
)
Błąd pokazuje, nie można otworzyć:
Nie można wstawić zbiorczo, ponieważ nie można otworzyć pliku „\ SERVERNAME \ FOLDERNAME \ textFile.txt”. Kod błędu systemu operacyjnego 5 (Odmowa dostępu.)
Ścieżka znajduje się na innym komputerze w sieci.
sql-server
bulk-insert
Jonas Ivy V. Imperial
źródło
źródło
'\\COMPUTER01\FOLDER01\TextFile.txt'
? Pamiętaj, że konto zasadniczo różni się od Twojego konta.Odpowiedzi:
Zrobię skok wiary i założę, że łączysz się z programem SQL Server przy użyciu uwierzytelniania systemu Windows. W takim przypadku masz podwójny przeskok Kerberos: jeden przeskok to aplikacja kliencka łącząca się z SQL Server, drugi przeskok to SQL Server łączący się ze zdalnym
\\COMPUTER01
. Taki podwójny przeskok podlega ograniczeniom ograniczonej delegacji, a Ty uzyskujesz dostęp do udziału jako logowanie anonimowe, a zatem odmowa dostępu.Aby rozwiązać problem, należy włączyć ograniczone delegowanie konta usługi SQL Server. Ten blog Porady: Wstawianie zbiorcze programu SQL Server z ograniczoną delegacją (odmowa dostępu) zawiera przykład tego, jak to zrobić, i naprawdę mam nadzieję, że krok „włączania nieograniczonej delegacji” to tylko literówka, ponieważ delegacja nieograniczona jest po prostu zło.
W przypadku, gdy wskoczyłem do pistoletu i logujesz się do SQL Server przy użyciu uwierzytelniania SQL, musisz utworzyć poświadczenie logowania do SQL i użyć go do uzyskania dostępu do zasobów sieciowych. Zobaczyć
CREATE CREDENTIAL
.źródło
Serwer Sql próbował otworzyć plik, serwer plików powiedział „Odmowa dostępu”, ponieważ konto, na którym działa SQL Server, nie ma uprawnień do otwierania pliku. Zmień odpowiednio ustawienia bezpieczeństwa pliku i będzie działać.
źródło
Uruchomiłbym skrypt pod loginem SQL (z pozwoleniem bulkadmin) i pozwoliłbym, aby zezwolenie na folder sieciowy uwierzytelniło się na koncie SQL Service lub SQL Server Agent.
źródło
Powiem ci, co działa dla mnie za każdym razem, gdy otrzymuję tę wiadomość. otwieram plik csv jako tekst w notatniku i usuwam wszystkie spacje w pliku, nie widzę tych pustych linii w pliku programu Excel. Zwykle jest to ostatni wiersz, który wydaje się pojawiać, mimo że jest pusty
źródło