SQLServer表中数据的复制问题

在两个数据库不同数据库中,任何将其中一个数据库的某一个表(或其中内容)复制到另一个数据库中.并且要保留这个表在上一个数据库中的信息,比如:相关性和索引之类.使用数据导入\... 在两个数据库不同数据库中,任何将其中一个数据库的某一个表(或其中内容)复制到另一个数据库中.并且要保留这个表在上一个数据库中的信息,比如:相关性和索引之类.
使用数据导入\导出,会提示"不能在具有唯一索引'******'的对象'*****'中插入重复键的行.
若是先删除后面数据库中的相关的表 然后使用 导入\导出 就会丢失上一个数据库中该表所具的相关性.索引等信息.
请问各位专家,如何才能解决这个问题...........
要是比较复杂的话,请加我的QQ:35733922 来告解
非常感谢
导入导出 数据已经用过了...
但是 会出先 "不能在具有唯一索引'******'的对象'*****'中插入重复键的行"
这样的错误提示....
导入不成功

还有 有没有详细的操作步骤,麻烦写一下..
_______________________________________________________
非常感谢各位,问题已经解决!~
展开
 我来答
哎語涯P
2006-06-15 · 超过13用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:0
展开全部
?
我的一段代码看对你是郑旦否有用
procedure Tf_fsxx.drexcel(filename,drcs,drbz,dxnr:string;ybt:boolean);
var
strcs:Tstringlist;
i,j,k:integer;
ks:array of integer;
zdm,nr:array of string;
str1,str2,tem,sqlstr,keyfield:string;
adoquery:Tadoquery;
mid:integer;
ExcelApp: Variant;
p:^Integer;
begin
with Tadoquery.create(nil) do begin
connectionstring:=linkstr;
sql.clear;
sql.add('delete from xt_temdr');
execsql;
free;
end;
strcs:=Tstringlist.create;
strcs.text:=drcs;
setlength(zdm,strcs.count);
setlength(ks,strcs.count);
setlength(nr,strcs.count);
for i:=0 to strcs.count-1 do begin
tem:=strcs.strings[i];
j:=pos(#9,tem);
str1:=copy(tem,1,j-1);
str2:=copy(tem,j+1,length(tem)-j);
ks[i]:=strtoint(str1);
zdm[i]:=str2;
end;
for i:=0 to high(zdm) do begin
for j:=0 to 4 do begin
if zdm[i]=yqxxarray[j,0] then begin
zdm[i]:=yqxxarray[j,1];
break;
end;
end;
end;
if ybt then k:=1
else k:=0;

ExcelApp:=CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open(FileName);
ExcelApp.WorkSheets[1].Activate;
createplan('正在导入数据……棚御',ExcelApp.WorkSheets[1].UsedRange.Rows.Count-k);
for i:=k+1 to ExcelApp.WorkSheets[1].UsedRange.Rows.Count do begin
for j:=0 to high(ks) do begin
nr[j]:=ExcelApp.cells[i,ks[j]];
end;
with Tadoquery.create(nil) do begin
connectionstring:=linkstr;
sql.clear;
sqlstr:='insert into xt_temdr(';
for j:=0 to high(ks) do begin
sqlstr:=sqlstr+zdm[j]+',';
end;
sqlstr:=copy(sqlstr,1,length(sqlstr)-1);
sqlstr:=sqlstr+'喊和扰)values(';
for j:=0 to high(ks) do begin
sqlstr:=sqlstr+''''+nr[j]+''',';
end;
sqlstr:=copy(sqlstr,1,length(sqlstr)-1);
sqlstr:=sqlstr+')';
sql.add(sqlstr);
execsql;
free;
end;
incplan;
end;
excelapp.workbooks.close;
excelapp.quit;
closeplan;
keyfield:='gdzh';
for i:=0 to 4 do begin
if yqxxarray[i,0]=drbz then begin
keyfield:=yqxxarray[i,1];
end;
end;

with Tadoquery.create(nil) do begin
connectionstring:=linkstr;
sql.clear;
sql.add('select * from xt_temdr,khzl where xt_temdr.'+keyfield+'=khzl.'+keyfield);
open;
createplan('正在写入发送库',recordcount);
while not eof do begin
tem:=dxnr;
str1:='';
i:=pos('{*',tem);
j:=pos('*}',tem);
while (i>0)and(j>0) do begin
str1:=str1+copy(tem,1,i-1);
str2:=trim(copy(tem,i+2,j-i-2));
tem:=copy(tem,j+2,length(tem)-j);
k:=0;
for j:=0 to 4 do begin
if yqxxarray[j,0]=str2 then begin
str2:=yqxxarray[j,1];
k:=1;
break;
end;
end;
if (k=0)and(trim(str2)<>'bxhj') then str2:=str2+'_1';
str1:=str1+fieldbyname(str2).asstring;
i:=pos('{*',tem);
j:=pos('*}',tem);
end;
str1:=str1+tem; //内容
adoquery:=Tadoquery.create(nil);
adoquery.connectionstring:=linkstr;
mid:=incid('xt_fs','id');
adoquery.sql.clear;
adoquery.sql.add('insert into xt_fs(id,fs_hm,fs_xm,fs_nr,fs_zt,fs_yxj,fs_yh,fs_drsj,fs_lx)values(');
adoquery.sql.add(inttostr(mid)+','''+fieldbyname('sjhm').asstring+''',');
adoquery.sql.add(''''+fieldbyname('xm_1').asstring+''',');
adoquery.sql.add(''''+str1+''',');
adoquery.sql.add('''未发送'',');
adoquery.sql.add(current_loginqx+',');
adoquery.sql.add(''''+current_loginname+''',');
adoquery.sql.add(''''+datetostr(date)+' '+timetostr(time)+''',');
adoquery.sql.add(inttostr(fslx)+')');
adoquery.execsql;
with lv.Items.add do begin
caption:=fieldbyname('xm_1').asstring;
subitems.add(fieldbyname('sjhm').asstring);
subitems.add('未发送');
subitems.add(str1);
subitems.add(datetostr(date)+' '+timetostr(time));
subitems.add('');
subitems.add('');
subitems.add(current_loginqx);
subitems.add(current_loginname);
new(p);
p^:=mid;
data:=p;
selected:=true;
makevisible(true);
end;
adoquery.free;
update;
incplan;
next;
end;
closeplan;
free;
end;
strcs.free;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b4033ae54
2006-06-15 · TA获得超过110个赞
知道答主
回答量:108
采纳率:100%
帮助的人:95万
展开全部
打开数据库,右击“表”,选择“导出数据”,选好源数据吵滚库和目的数据库后,有两项可供选择,“从源老郑数据库复制表和视图升含余”,“用一条查询指定要传输的数据”,用这两项都可以,用第一项的时候,选择好要复制的表后,点“转换”按钮,选择自己想要的转换方式。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Treelab
2021-04-05 · 贡献了超过299个回答
知道答主
回答量:299
采纳率:100%
帮助的人:13.8万
展开全部

本节视频我们来聊一晌信扰聊坦哪如何宴旦复制与删除数据表。Treelab 官网:www.treelab.com.cn

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a71a8f760
2006-06-15 · TA获得超过147个赞
知道答主
回答量:404
采纳率:0%
帮助的人:0
展开全部
使用insert into db2.dbo.tab2select * from db1.dbo.tab1

参考资料: httP;//www.tiantiansoft.com

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孟德G
2006-06-15 · TA获得超过5237个赞
知道大有可为答主
回答量:1.1万
采纳率:20%
帮助的人:0
展开全部
导入导出时选择复制数据库对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式