使用什么而不是批量加载?收到错误'无权使用批量加载声明'

时间:2014-07-17 14:07:45

标签: sql ssms

我正在尝试使用BULK INSERT将文本文件添加到SQL数据库表中。 块 INSERT My_Tablename FROM'C:\ testing \ temptest.txt' WITH ( FIELDTERMINATOR ='|', ROWTERMINATOR ='\ n' ) 走 但是得到了“没有权限使用批量加载语句”的错误。 有没有其他方法可以做到这一点? 我不想设置TRUSTWORTHY ON或为BULK管理员权限创建证书。

2 个答案:

答案 0 :(得分:2)

尝试使用SQL Server导入和导出向导。

  1. 右键单击SSMS中对象资源管理器中的数据库。
  2. 转到任务>导入数据
  3. 选择"平面文件来源"对于您的数据源,并按照向导指定分隔符等。

答案 1 :(得分:1)

虽然@SQLChao肯定有答案,但我不记得所说的Import Data选项的位置,只是用我最喜欢的文本编辑器Notepad++打开分隔文件并执行以下查找并替换为搜索模式设置为扩展名:

  1. 查找:'替换:''
  2. 查找:|替换:','
  3. 查找:\r\n替换:')\r\n
  4. 查找:\r\n替换:\r\nINSERT INTO [DB_Name].[Schema_Name].[Table_Name] VALUES(\r\n'
  5. 唯一的问题应该是你的第一个和最后一个插入语句,可以根据需要手动编辑。

    然后我将文本直接复制到Sql Server并执行。