gpt4 book ai didi

sql - 第 1 行第 4 列(年份)的批量加载数据转换错误(类型不匹配或指定代码页的字符无效)

转载 作者:行者123 更新时间:2023-12-02 03:42:29 25 4
gpt4 key购买 nike

当我尝试将文本文件导入数据库时​​,出现转换错误。以下是我收到的错误消息:

第 1 行第 4 列(年份)出现批量加载数据转换错误(类型不匹配或指定代码页的字符无效)。

这是我的查询代码:

CREATE TABLE Students
(
StudentNo Integer NOT NULL Primary Key,
FirstName VARCHAR(40) NOT NULL,
LastName VARCHAR(40) NOT NULL,
Year Integer,
GPA Float NULL
);

以下是文本文件中的示例数据:

100,Christoph,Van Gerwen,2011
101,Anar,Cooke,2011
102,Douglis,Rudinow,2008

我想我知道问题是什么..下面是我的批量插入代码:

use xta9354
bulk insert xta9354.dbo.Students
from 'd:\userdata\xta9_Students.txt'
with (fieldterminator = ',',rowterminator = '\n')

在示例数据中,尽管 Year 后面还有一个属性 Grade 为 NULL,但 Year 属性后面没有“,”

有人可以告诉我如何解决这个问题吗?

最佳答案

尝试使用 format file,因为您的数据文件只有 4 列。否则,请尝试 OPENROWSET 或使用临时表。

myTestFormatFiles.Fmt 可能如下所示:

9.041       SQLINT        0       3       ","      1     StudentNo      ""2       SQLCHAR       0       100     ","      2     FirstName      SQL_Latin1_General_CP1_CI_AS3       SQLCHAR       0       100     ","      3     LastName       SQL_Latin1_General_CP1_CI_AS4       SQLINT        0       4       "\r\n"   4     Year           "


(source: microsoft.com)

This tutorial on skipping a column with BULK INSERT may also help.

Your statement then would look like:

USE xta9354
GO
BULK INSERT xta9354.dbo.Students
FROM 'd:\userdata\xta9_Students.txt'
WITH (FORMATFILE = 'C:\myTestFormatFiles.Fmt')

关于sql - 第 1 行第 4 列(年份)的批量加载数据转换错误(类型不匹配或指定代码页的字符无效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com