【问题标题】:Fix my SQL Server blank screen修复我的 SQL Server 空白屏幕
【发布时间】:2017-08-14 01:16:21
【问题描述】:

基本上我已经在 SQL Server 中创建了一个表:

  CREATE TABLE [Books]
(
     [store] int,
     [sgxg] int,
     [t] varchar(50),
     [movie] varchar(50),
     [year] int
);

但是当我从表 books 中选择行时,即使我刷新了它,那里也什么都没有。创建了 5 列,但没有插入数据??

【问题讨论】:

  • 添加ERRORFILE = 'file_name' 以查看导入过程中的错误。我想,这是因为您的第一行包含无法插入数字列的标题。使用FIRSTROW = 2 选项跳过第一行
  • @cha 嘿先生,我仍然无法批量插入,因为它在其他计算机上工作,有人刚刚给我发了电子邮件。那么是不是我的 sql server 出了什么问题?

标签: sql sql-server import text-files bulkinsert


【解决方案1】:

您的表定义为:

CREATE TABLE [Books]
(
     [store] int,
     [sgxg] int,
     [t] varchar(50),
     [movie] varchar(50),
     [year] int
);

您的程序几乎正确。试试这个:

CREATE PROC [InsertBooks]
AS
BEGIN
  BULK INSERT [Books] 
  FROM 'C:\Users\dachen\workspace\612Lab3(XMLFinalVersion)\books.txt'
  WITH (
    FIRSTROW=2,
    FIELDTERMINATOR=',',
    ROWTERMINATOR='\n'
  )
END;

执行如下程序:

EXECUTE [InsertBooks];

查看插入的数据:

SELECT * FROM [Books]

【讨论】:

  • 不知道为什么你把所有其他有用的信息都排除在你的问题之外。我会更新我的答案。
  • 匿名化是可以的,但使答案有用的关键信息应该保留。例如,将字段名称、数据文件的名称和数据匿名化。
  • 嗯,这取决于你想要什么。如果愿意,您可以一起运行所有语句 - CREATE TABLE... 后跟 CREATE PROCEDURE... 后跟 EXECUTE... 后跟 SELECT...,但最可能的是只运行一次 CREATE TABLE...CREATE PROCEDURE,然后根据需要使用不同的查询执行存储过程。
  • 所以我可以把那个 EXECUTE [InsertBooks];程序结束后?
  • 先生,它仍然是空白的,我已经发送了我的最新截图
猜你喜欢
  • 2019-03-17
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-21
相关资源
最近更新 更多