SQL Server:添加可编程的CSV
我有以下代码将CSV文件插入临时表:SQL Server:添加可编程的CSV,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有以下代码将CSV文件插入临时表: USE [websitehere.com].[dbo] GO CREATE TABLE [websitehere.com].[dbo].[tmpTable] (ID INT, Caller_Number VARCHAR(100), Caller_Name VARCHAR(100), GroupBy VARCHAR(100), Campaign_Name VARCHAR(100), DateAndTime VARCHAR
USE [websitehere.com].[dbo]
GO
CREATE TABLE [websitehere.com].[dbo].[tmpTable]
(ID INT,
Caller_Number VARCHAR(100),
Caller_Name VARCHAR(100),
GroupBy VARCHAR(100),
Campaign_Name VARCHAR(100),
DateAndTime VARCHAR(100),
Duration VARCHAR(100),
Call_Status VARCHAR(100))
GO;
BULK
INSERT tmpTable
FROM 'C:\Users\namehere\Documents\CallLog.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
但是
tmpTable
。这给了我一个错误
味精102,第15级,状态1,第1行“.”附近的语法不正确
您没有使用批量加载语句的权限
USE [websitehere.com].[dbo]
应该说
USE [websitehere.com]
第二个错误应该通过为用户分配propper权限或角色成员身份来修复。您需要插入和管理批量操作权限。可能更多,这取决于大容量插入语句可能具有的其他选项
您可能希望使用某个测试用户帐户尝试此操作:
USE master;
GO
CREATE LOGIN bulkuser WITH PASSWORD = 'P@ssw0rd';
GRANT ADMINISTER BULK OPERATIONS to bulkuser;
USE [websitehere.com]
GO
CREATE USER bulkuser FOR LOGIN bulkuser;
EXEC sp_addrolemember 'db_datareader', 'bulkuser'
GRANT INSERT ON [dbo].[tmpTable] TO bulkuser;
然后以“bulkuser”身份登录并尝试运行您的批量插入语句。Ah找到了我需要授予访问权限才能使用它的地方
Right-click on your database table >
properties >
select Permissions from the left panel >
click the blue link "View server permissions" >
check "Grant" for "Administer bulk operations" >
Ok > Ok > Done!
我是数据库管理员。如何检查这些权限?如果您是数据库管理员,为什么不使用一个足够强大的帐户?无论如何,在对象资源管理器中转到用户对象,查找用户对相关表和服务器的权限。已解决!不过,谢谢你的帮助!