【问题标题】:SQL Server Import Export Wizard executing but not writing rows to fileSQL Server 导入导出向导正在执行但未将行写入文件
【发布时间】:2012-03-31 07:48:19
【问题描述】:

我正在尝试使用导出向导从数据库中导出数据。我的目的地是一个带有自定义文本限定符(^`~)的分隔平面文件,因为我正在导出的一个字段中的数据可能基本上包含人类已知的每个字符。所以我能够在向导中很好地设置查询,它执行时出现 0 个错误,一切都很好。但它表明它没有向目标文件写入任何记录。现在,我知道我的查询返回记录,但它有点像多步查询。它是这样的:

将@RecordCount 声明为 INT SET @RecordCount = SELECT COUNT(*) FROM SomeTable WHERE COLUMN1 = 1 AND COLUMN2 = 2

将@TempTable 声明为表( COLUMN1 INT, 第 2 列整数, COLUMN3 VARCHAR(255)) 插入@TempTable 选择列 1, 第 2 列, 第 3 列, 第 4 列 FROM SomeOtherTable WHERE Column1 IN(--获取随机id列表的子查询)

选择顶部(@RecordCount) A.COLUMN1, A.COLUMN2, A.COLUMN3, A.COLUMN4, B.COLUMN1, B.COLUMN2, B.COLUMN3 来自@TempTable A INNER JOIN JoinTable B ON A.COLUMN1 = B.COLUMN1 按列排序 1

就像我说的那样,查询在 Ssms 中运行时运行良好,只是在使用导出向导时我才遇到它实际上没有将任何行写入目标的问题。我只是将查询结果保存为 csv,但由于字段中的数据,我无法使用逗号分隔符,这就是为什么我需要导出向导来声明自定义文本限定符的原因。谁能指出我正确的方向?谢谢:)

【问题讨论】:

    标签: sql sql-server-2005 ssms


    【解决方案1】:

    尝试使用您的查询创建一个视图并以这种方式导出它。您正在创建的临时变量可能存在一些问题。

    当您在向导中单击预览时,它会填充吗?

    【讨论】:

    • 我会试试这个视图,虽然我相信我没有对数据库的写权限。我的公司是一家金融机构,因此获得做任何事情的许可本身就是一场战斗。该查询需要非常长的时间来运行,因为其中一个连接表中有大约 8 亿条记录,所以我没有检查预览。我今天会试试看,虽然即使它确实显示在那里,我仍然有它没有将记录写入文件的问题。
    • 我想知道它是否会超时,因为查询需要很长时间。我会继续调查的。
    • 一开始我也是这么想的,但我希望得到一个超时错误或什么的,而不是查询成功完成,0行传输。
    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2011-05-01
    相关资源
    最近更新 更多