2011-07-22 84 views
0

大家好!Iam试图从.dat文件(从sybase卸载)中批量插入数据到我创建的表中。将数据导入SQL Server 2008 r2 EXPRESS从SQL Anywhere 11.0

这里是表定义:

CREATE TABLE dbo."GCK_KioskSetupOptions" (
    "SMTPIPAddress"   varchar(128) NULL 
    ,"SMTPPort"   varchar(20) NULL 
    ,"POP3IPAddress"   varchar(128) NULL 
    ,"POP3Port"   varchar(20) NULL 
    ,"AutoLogOffDelay"  integer NULL 
    ,"AllowUserToPrint"  bit NOT NULL 
    ,"AllowAttachment"  bit NOT NULL 
    ,"MaxMessageSize"   integer NULL 
    ,"BillingCodeOptionID"  integer NOT NULL 
    ,"MaxMessage"   integer NULL 
    ,"AllowUserToImport"  bit NOT NULL 
    ,"ProtectUserWithPassword" varchar(50) NULL 
    ,"DefaultEncoding"  varchar(50) NULL 
    ,"EnableMessageLimit"  bit NULL 
    ,"GlobalMessageLimit"  integer NULL DEFAULT 30 
    ,"AllowSetMessagePriority" bit NOT NULL DEFAULT 0 
) 
go 

在有需要被插入到上述

提到的表.dat文件仅仅是一个单行(由于空数据库)下面是。 dat文件数据格式

'127.0.0.1', '25', '127.0.0.1', '110',10,1,1,400,2,250,1,

这里是散装插图命令

BULK 
INSERT GCK_KioskSetupOptions 
FROM 'C:\Program Files\Globe Wireless\WebMail\Database\Defaults\Data\404.dat' 
WITH 
(
    FIELDTERMINATOR = ',', 
    ROWTERMINATOR = '\n' 
) 
GO 

运行SQLServer的中Management Studio中IAM此命令收到这些错误 消息4832,级别16,状态1,行2 容量装载:在数据文件中遇到文件的意外结束。 Msg 7399,Level 16,State 1,Line 2 链接服务器“(null)”的OLE DB提供程序“BULK”报告了错误。提供者没有提供任何关于错误的信息。 Msg 7330,Level 16,State 2,Line 2 无法从链接服务器“(null)”的OLE DB提供程序“BULK”中获取一行。

任何人都可以帮我解决这个问题吗?我实际上是从Sybase SQL Anywhere 11到SQL Server 2008 R2 express进行数据迁移,这是我尝试从.dat文件导入数据到SQL时遇到的第一个问题Server 2008 R2 EXPRESS表。

三江源

回答

0

通过对事物的外观也有在样本数据文件LL字段,但在表16列。

我认为你需要用默认值填充输入。

,而不是仅仅

'127.0.0.1', '25', '127.0.0.1', '110',10,1,1,400,2,250,1的,

你需要

'127.0.0.1','25','127.0.0.1','110',10,1,1,400,2,250,1 ,,,,,

相关问题