Массовая загрузка невозможна, поскольку файл не может быть открыт.Код ошибки операционной системы 1326 (Ошибка входа: неизвестное имя пользователя или неверный пароль.) - PullRequest
2 голосов
/ 24 сентября 2010

массовая загрузка из файла теста csv

"\ servername \ wwwroot \ Upload \ LDSAgentsMap.txt"

     SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ON
GO

CREATE PROCEDURE [dbo].[sp_CSVTest_BulkInsert] ( @Path NVARCHAR(128) )
AS 
    DECLARE @Sql NVARCHAR(256)
    SET @Sql = 'BULK
INSERT CSVTest 
FROM ''' + @Path + ''' WITH
(
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''\n''
)'
--PRINT @Sql
EXEC(@Sql)

GO

путь: "\ servername \ wwwroot \ Upload \ LDSAgentsMap.txt"

примечание

это общий хостинг, и у пользователя базы данных есть роль blukadmin и роль общего сервиса

Ответы [ 2 ]

2 голосов
/ 17 февраля 2011

Это может произойти, если учетная запись пользователя Windows, под которой запускается SQL (например, SqlServerAccount), не имеет прав доступа к общему файлу (\ servername \ wwwroot \ Upload \ LDSAgentsMap.txt).

Один из способов, с помощью которого мы работали, это перейти на компьютер, на котором находится общий файл. На этом компьютере добавьте учетную запись пользователя Windows с тем же именем пользователя и паролем, что и учетная запись, под которой работает SQL.

Например,

Если ваша база данных находится на MyDatabaseServer и работает под учетной записью пользователя Windows SqlServerAccount с паролем Foo, перейдите на компьютер, где находится ваш общий файл, например, MyFileServer и создайте учетную запись пользователя Windows с именем SqlServerAccount с паролем Foo.

Последний шаг: перейдите в общую папку MyFileServer и перейдите в общие свойства этой папки. (В Win7 щелкните правой кнопкой мыши папку-> Свойства-> Общий доступ-> Расширенный общий доступ). Затем добавьте разрешение на чтение для созданного вами SqlServerAccount.

1 голос
/ 02 апреля 2012

Я получал эту ошибку из служб SSIS при попытке выполнить хранимую процедуру, которая выполняла массовую вставку.

Я исправил это, добавив номер порта SQL Server в строку подключения в SSIS, заставив SSIS обращаться к SQL Server через TCP / IP вместо именованных каналов.

...