在MySQL中,您可以非常简单地使用SELECT load_file('foo.txt')
读取文件并使用SELECT 'text' INTO DUMPFILE 'foo.txt'
写入文件。
我正在寻找一种在MSSQL 2000中执行此操作的方法,而无需使用任何外部工具,只需查询或存储过程。
答案 0 :(得分:5)
对于输入,您可以使用文本文件ODBC驱动程序:
select * from OpenRowset('MSDASQL',
'Driver={Microsoft Text Driver (*.txt;
*.csv)};DefaultDir=c:\;','select * from [FileName.csv]')
假设输出文件已存在,您可以使用Jet写入它:
INSERT INTO
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Text;Database=C:\;HDR=Yes;', 'SELECT
* FROM filename.csv') SELECT 1234,5678
答案 1 :(得分:2)
有几种方法可以做到这一点。
使用xp_cmdshell:
declare @writetofile varchar(1000)
select @writetofile = 'osql -U -P -S -Q"select * from yourtable" -o"c:\foo.txt"'
exec master..xp_cmdshell @writetofile
或者你可以从命令行使用bcp来读/写文件,这通常可以更快地进行批量插入/选择
或者,您也可以使用sp_OACreate,但您可能不希望使用此路由,因为它不完全是数据库的意图。 :)
答案 2 :(得分:1)
您也可以使用BULK INSERT读取文件。