发布时出现错误,请大家帮忙解决一下。急,在线等!!!

LCAAA 2005-01-25 10:29:19
我在做发布时,提示不能向某个表中大量复制数据。这是怎么回事呀???请大家帮帮忙!!!
...全文
384 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2005-03-05
  • 打赏
  • 举报
回复
--查询分析器中用下面的语句

--切换到你要删除数据的数据库(dbname改为你的库名)
use dbname

exec sp_msforeachtable
@command1=N'truncate table ?',
@whereand=N' and objectproperty(o.id,N''TableHasForeignRef'')=0'
exec sp_msforeachtable
@command1=N'delete from ?',
@whereand=N' and objectproperty(o.id,N''TableHasForeignRef'')=1'
LCAAA 2005-03-02
  • 打赏
  • 举报
回复
现在别的地方又出错了
表里的内容太多,无法删除。怎么样才能把表里的内容删掉啊??
用语句就超时
zjcxc 2005-02-27
  • 打赏
  • 举报
回复

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_set]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_set]
GO

/*--char,varchar字段转换成nchar,nvarchar

将所有的用户表中,数值类型由char,varchar改为nchar,nvarchar
要注意的是,如果字段上有约束,则修改会出错

--邹建 2004.01(引用请保留此信息)--*/

/*--调用示例:

exec p_set
--*/
create procedure p_set
@flag bit=0 --转换标志:
--0 转换时使用原来的定义长度,如果原来定义长度超过4000,则定义为4000
--1 转换时使用原来的定义长度/2
as
declare tb cursor local for
SELECT N'alter table ['
+replace(o.name,N']',N']]')
+N'] alter column ['
+replace(c.name,N']',N']]')
+N'] N'
+replace(t.name,N']',N']]')
+N'('
+case
when @flag=0
then case when c.prec>4000 then '4000' else rtrim(c.prec) end
else rtrim(c.prec/2)
end+N')'
FROM syscolumns c,systypes t,sysobjects o
where o.id=c.id
and c.xusertype=t.xusertype
and objectproperty(o.id,'IsUserTable')=1
and o.status>=0
and t.name in('char','varchar') --要处理的数据类型
and not exists(
SELECT 1 FROM sysobjects
where xtype='PK'
and name in (
SELECT name FROM sysindexes
WHERE indid in(
SELECT indid FROM sysindexkeys
WHERE id = c.id AND colid=c.colid))) --主键不能修改
order by o.id,c.colid

declare @s nvarchar(4000)
open tb
fetch tb into @s
while @@fetch_status = 0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb
go
LCAAA 2005-02-27
  • 打赏
  • 举报
回复
可是我的数据库中,要改的字段太多了
怎么办呀
只有这一个办法吗
zjcxc 2005-02-20
  • 打赏
  • 举报
回复
我以前试过,删除发布/订立,修改字段类型,重新做发布/订阅就可以了(当前发布和订阅数据库的类型都要改)
LCAAA 2005-02-20
  • 打赏
  • 举报
回复
还是不行呀
我以前在别的地方做发布的时候字段类型也是这个呀
还有
我发现我把发布删掉后,数据库自动生成的表还在呀???
邹大侠你知道是怎么回事吗???
31409859
这个是我的QQ希望我们能成为朋友。
woshitupia 2005-02-19
  • 打赏
  • 举报
回复
基本赞同楼上说法
对结果表示关注
zjcxc 2005-02-19
  • 打赏
  • 举报
回复
应该是字段类型的问题了,将所有表中的字段类型做如何修改:

varchar --改为--> nvarchar
char --改为--> nchar
text --改为--> ntext

LCAAA 2005-02-19
  • 打赏
  • 举报
回复
3 id int 4 0
0 车辆id int 4 1
0 操作员 varchar 50 1
0 日期 datetime 8 1
0 内容 varchar 1000 1
0 rowguid uniqueidentifier 16 0
zjcxc 2005-02-19
  • 打赏
  • 举报
回复
我的建议是把当前出错的表结构帖出来看看
zjcxc 2005-02-18
  • 打赏
  • 举报
回复
和表机构没关系。我把这个提示的表删掉,又提示别的表出错了

这个不一定,因为在复制到某个表失败后,就会终止处理,后面的表根本不会被处理,删除这个表后,没有这个错误,就会继续处理后面的表,如果后面的表有问题的问题,则又会出错
LCAAA 2005-02-18
  • 打赏
  • 举报
回复
和表机构没关系。我把这个提示的表删掉,又提示别的表出错了。
LCAAA 2005-02-18
  • 打赏
  • 举报
回复
我的数据库中有200多个表
那怎么办呀
但是我以前做的和这个库的机构可以说是一样的
是可以的
zjcxc 2005-02-03
  • 打赏
  • 举报
回复
表结构帖出来看看。
  • 打赏
  • 举报
回复
LCAAA 2005-02-01
  • 打赏
  • 举报
回复
但是,现在做的发布就出问题呀???
没人懂吗????
dzhfly 2005-02-01
  • 打赏
  • 举报
回复
做发布时,会对每发布的表添加一个标识列,可能会对前台软件造成出错。
hai2003xp 2005-01-29
  • 打赏
  • 举报
回复
到底你是什麼做的?不能復制它有什麼提示?錯誤是什麼?
kevin521 2005-01-29
  • 打赏
  • 举报
回复
关注
LCAAA 2005-01-29
  • 打赏
  • 举报
回复
可我的库中没有呀。
我做发布的时候就出错了。
加载更多回复(8)

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧