将SQL SERVER2000数据库的数据表导出到TXT文件中(50分)

  • 主题发起人 主题发起人 wsq547
  • 开始时间 开始时间
W

wsq547

Unregistered / Unconfirmed
GUEST, unregistred user!
请问将SQL数据表中的数据导出到指定的TXT文件中,就是SQL语句导出,这段SQL语句应该怎么写呢?谢谢
 
直接用DTS就行了啊
 
ABEL.ra
能不能说得具体一点呢?
 
bcp 实用工具:bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword
参考
http://www.pconline.com.cn/pcedu/empolder/db/sql/0502/551039.html
 
adoquery1.first;
memo1.clear;
while not adoquery1.eof do
begin
memo1.lines.add('adoquery1.fields[0].asstring+','
+adoquery1.fields[1].asstring+','
+adoquery1.fields[2].asstring);
adoquery1.next;
end;
memo1.lines.savetofile('c:/file1.txt');
 
SQL2000的BCP命令:
控制台下
bcp "pubs.authors" out "authors.txt" -c -q -U"sa" -P"password"
此时表输出成文本文件了
---------------------------------------------------------------

bcp 实用工具在 SQL Server 实例和数据文件之间以用户指定的格式复制数据。

如果需要详细的资料,可以看一下MS SQL SERVER的关于“BCP实用工具”的内《
---------------------------------------------------------------

{ //事件开始
a:TextFile;
i,num:int;
if (SaveDialog1->Execute) then ///文件保存控件
{
if (FileExists(SaveDialog1->FileName)) then //如果文件存在
{
AssignFile(a,SaveDialog1->FileName); //关联文件变量
Rewrite(a); //读写文件
table1->open; //打开表
num=table1->Fields->Count()-1; //字段数
for(i=0;i<num;i++)
{
write(a,table1->Fields->FieldName()+'';''); //写入字段名
}
writeln(a,''''); //写入回车
while (!table1->eof())
{
for (i=0;i<num;i++)
{
Write(a,table1->Fields->AsString()+'';''); ///写入内容
}
writeln(a,''''); //写入回车
table1->Next(); //下一条记录
}
table1->close();
}
CloseFile(a);
}
}
}
用一个存储过程将表的数据导出到一个.TXT文件,.TXT文件格式固定:

exec master..xp_cmdshell 'bcp Databse..table out d:/tt.txt -c -t , -Sservername -Uuser -Ppassword'
servername为sqlserver的名字
user为id
password 为密码
 
后退
顶部