このエラーは本当に@sandeep rawatが述べているように、パーミッションエラーです。そうしておけば、その答えを使用することができます。私はあなたのシステムでこれをしたいと思ったら私がしたことをあなたと共有したいと思います。
まず、この質問に答えるために重要で必要な欠点をいくつかお詫びしたいと思います。 1)システムが作成され、ドメインと管理者を持つマイコンピュータに保存されていることを忘れていました。私のユーザーアカウントに何かを変更するには管理者権限が必要です(再度許可エラーです)
2)私が作成したストアドプロシージャは、ユーザーアカウントからデータを大量に読み込もうとしたときに機能しません。私は次のコード
BULK INSERT temptable
FROM 'C:\Users\MyUser\Documents\Visual Studio 2010\Projects\TestUploader\TestUploader\bin\Debug\MyCSV.csv'
WITH
(
FIELDTERMINATOR = '','',
ROWTERMINATOR = ''\n'',
MAXERRORS = 100,
FIRSTROW = 2
)
でストアドプロシージャを使用しようとしましたが、それは動作しませんでした、それは質問に記載されたエラーを示します。
これは私がしたことです。
1)私はCの下にフォルダを作成した)system.security.accessControl
に
Imports System.Security.AccessControl
2をインポート:フォルダ
Dim FolderInfo As IO.DirectoryInfo = New IO.DirectoryInfo(folderName)
Dim FolderAcl As New DirectorySecurity
FolderAcl.AddAccessRule(New FileSystemAccessRule(UserAccount, FileSystemRights.Modify, InheritanceFlags.ContainerInherit Or InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow))
FolderInfo.SetAccessControl(FolderAcl)
にアクセス権限の付与)
Dim folderName As String
folderName = "C:\CSVUPLOADS\"
'check if folder exists, if not, create folder
If (Not System.IO.Directory.Exists(folderName)) Then
System.IO.Directory.CreateDirectory(folderName)
End If
3 \
4)元の場所からファイルを作り直し、新しいフォルダに入れます。
fileName = "dataUpload.csv"
fileName = folderName & fileName
'Create CSV file
File.Create(fileName).Dispose()
上記の手順を実行した後、展開環境でもCSVファイルを読み取ることができました。
これらの手順の利点は、特定のフォルダにアクセス許可を追加する必要がないことです。
私は別の場所に必要なCSVファイルを作成、コピー、検索するシステムを作成する必要があります。
上記のコードが不完全なので、SQLスクリプトだけでなく、これ用にシステムを作成しました。上記のコードでは、新しいフォルダと新しいCSVファイルの作成についてのみ説明します。新しいCSVファイルは、手動で権限を与えずにSQLで読み取ることができます。したがって、これを行う場合は、CSVファイルから新しいCSVファイルにデータを取得し、ストアドプロシージャを呼び出して一括挿入する方法を研究する必要があります。
P.S - 答えとしてマークするのではなく、実際の回答が許可であるためオプションとしてのみ表示します。
こんにちはどのくらいの大きさのファイルです。私はそこにスペースの問題があるとは思わない。 –
その938バイトのデータ –
sqlサービスが実行されているユーザーにファイル/フォルダのフルアクセスを許可してください... –