2012-03-14 25 views
0

我正尝试使用导出向导从数据库中导出数据。我的目标是带有自定义文本限定符(^`〜)的分隔平面文件,因为我输出的其中一个字段中的数据可能基本上包含每个人都知道的字符。所以我可以在向导中设置查询,并且执行错误为0,一切都很好。但它显示它没有写入目标文件的记录。现在,我知道我的查询返回记录,但它有点多级查询。它是这样的:SQL Server导入导出向导正在执行但不能将行写入文件

DECLARE @RecordCount AS INT SET @RecordCount = SELECT COUNT(*)FROM SomeTable WHERE COLUMN1 = 1 AND COLUMN2 = 2

DECLARE @TempTable如表( COLUMN1 INT, COLUMN2 INT, 栏3 VARCHAR(255)) INSERT INTO @TempTable SELECT列1, 列2, 栏3, Column4 FROM SomeOtherTable WHERE列1 IN(--sub查询获取ID的随机列表)

SELECT TOP(@RecordCount) A.COLUMN1, A.COLUMN2, A.COLUMN3, A.COLUMN4, B.COLUMN1, B.COLUMN2, B.COLUMN3 FROM @TempTable甲 INNER JOIN JoinTable B开A.COLUMN1 = B.COLUMN1 ORDER BY COLUMN1

就像我说的,在SSMS中运行时查询工作得很好,使用导出向导时,我有它的问题,实际上不是它的唯一将任何行写入目标。我只是将查询结果保存为csv,但由于字段中的数据导致逗号分隔符不可用,这就是为什么我需要导出向导来声明自定义文本限定符的原因。任何人都可以将我指向正确的方向吗?谢谢:)

回答

0

尝试使用您的查询创建视图并以此方式导出。您可能在创建临时变量时遇到一些问题。

当您在向导中单击预览时,是否填充?

+0

我会尝试该视图,但我相信我没有对数据库的写入权限。我的公司是一家金融机构,因此获得许可做任何事情本身就是一场战斗。查询需要很长时间才能运行,因为其中一个连接表中有大约8亿条记录,所以我没有检查预览。我会在今天尝试一下,尽管即使它出现在那里,但我仍然有问题,不会将记录写入文件。 – wakers01 2012-03-15 14:05:22

+0

我想知道如果它可能超时,因为查询需要这么长时间。我会继续研究它。 – 2012-03-15 14:38:46

+0

我起初以为同样的事情,但我希望得到一个超时错误或什么,而不是查询成功完成,0行传输。 – wakers01 2012-03-15 15:19:52

相关问题