我有数百个 SQL Server 表要导出到带有 "
文本限定符和 |
分隔符的 txt 或 csv。导入/导出向导一次只允许一个表。
是否有更好的方法/工具/脚本可以一次解决所有问题?
谢谢
最佳答案
您可以使用以下方法对 BCP 做一些事情:
SELECT 'bcp [' + TABLE_SCHEMA + '].[' + TABLE_NAME + '] out "' + TABLE_SCHEMA + '.' + TABLE_NAME + '.txt" -T -c -t"|" -d {DATABASE NAME} -S {SERVER NAME} -T'
FROM INFORMATION_SCHEMA.TABLES
这将为您运行它的数据库中的每个表输出 BCP 语句。然后您可以将它们复制并粘贴到命令窗口中。
在上面,您希望将 {DATABASE NAME} 和 {SERVER NAME} 替换为您的环境的详细信息。 “-T”使用受信任的连接(即您),因此如果您需要使用特定的用户名和密码执行某些操作,则需要相应地进行调整。看看 BCP util写了更多的细节。
SELECT 可能需要根据数据库中对象的名称进行更多调整,但希望这能让您了解从哪里/如何开始。
关于sql-server - 一次将所有 SQL Server 表导出到 txt 或 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660616/