SQL2000的系统表sysproperties在SQL2005中 无效的 问题
来源:互联网 发布:金山办公室软件 编辑:程序博客网 时间:2024/05/23 00:01
有两种解决办法
方法一、是我在网上找的:将原来的sysproperties改成sys.extended_properties并且对应关系如下
sys.extended_properties
left join sys.extended_properties g on a.id=g.class and
a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.class and f.minor_id=0
2000的数据库附加不能05的数据库里出了sysproperties不存在
上面就是解决的方法,以后备用。
【sysproperties】表 原来【SQL2000】中的表【sysproperties】在【SQL2005】中已经不存在了,被是表【extended_properties】取代了。 能不出错吗?
微软公司在升级数据库版本的问题,怎么没有考虑到程序员?
微软删除一个sysproperties表,不知道多少个基于【sysproperties】的程序要出问题。
所以基于上面的解决办法,我找到了
第二个方法,相对比较简单
建一个视图:
CREATE VIEW sysproperties
AS
SELECT class AS id,Minor_id AS sMallid,* from sys.extended_properties
这样以前写的代码 在找不到表的情况下就会用这个视图。
暂时貌似可以解决问题
举一个列子如下:修改后一样可以在2005中运行:
--查询所有用户表所有字段的特征
SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name,
COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity,
CASE WHEN EXISTS
(SELECT 1
FROM dbo.sysobjects
WHERE Xtype = 'PK' AND Name IN
(SELECT Name
FROM sysindexes
WHERE indid IN
(SELECT indid
FROM sysindexkeys
WHERE ID = A.ID AND colid = A.colid)))
THEN 1 ELSE 0 END AS 主键,
B.name AS 类型,
A.length AS [长度],
A.xprec AS [精度],
A.xscale AS [小数],
CASE WHEN A.isnullable = 1 THEN 1 ELSE 0 END AS [可为空],
ISNULL(E.text, ' ') AS [默认值],
ISNULL(G.[value], ' ') AS [说明]
FROM dbo.syscolumns A LEFT OUTER JOIN
dbo.systypes B ON A.xtype = B.xusertype INNER JOIN
dbo.sysobjects D ON A.id = D.id AND D.xtype = 'U' AND
D.name <> 'dtproperties' LEFT OUTER JOIN
dbo.syscomments E ON A.cdefault = E.id
LEFT OUTER JOIN dbo.sysproperties G ON A.id = G.id AND A.colid = G.smallid
--WHERE D.Name='tablename' --如果找指定表,把注释去掉
ORDER BY 1, 2
上面是 在2000中运行的效果,正确,没问题
下面是利用【sys.extended_properties】的效果,用网上找的方法,可行
--查询所有用户表所有字段的特征
SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name,
COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity,
CASE WHEN EXISTS
(SELECT 1
FROM dbo.sysobjects
WHERE Xtype = 'PK' AND Name IN
(SELECT Name
FROM sysindexes
WHERE indid IN
(SELECT indid
FROM sysindexkeys
WHERE ID = A.ID AND colid = A.colid)))
THEN 1 ELSE 0 END AS 主键,
B.name AS 类型,
A.length AS [长度],
A.xprec AS [精度],
A.xscale AS [小数],
CASE WHEN A.isnullable = 1 THEN 1 ELSE 0 END AS [可为空],
ISNULL(E.text, ' ') AS [默认值],
ISNULL(G.[value], ' ') AS [说明]
FROM dbo.syscolumns A LEFT OUTER JOIN
dbo.systypes B ON A.xtype = B.xusertype INNER JOIN
dbo.sysobjects D ON A.id = D.id AND D.xtype = 'U' AND
D.name <> 'dtproperties' LEFT OUTER JOIN
dbo.syscomments E ON A.cdefault = E.id
left join sys.extended_properties g
on a.id=g.class and
a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.class and f.minor_id=0
WHERE D.Name='tablename' --如果找指定表,把注释去掉
ORDER BY 1, 2
另外我在 sql2005中建立视图 :
CREATE VIEW sysproperties
AS
SELECT class AS id,Minor_id AS sMallid,* from sys.extended_properties
后再执行第一个不经过修改用【sysproperties】的代码也能正常运行。
- SQL2000的系统表sysproperties在SQL2005中 无效的 问题
- SQL2000的系统表sysproperties在SQL2005中 无效的问题
- SQL2000的系统表sysproperties在SQL2005中 无效的 问题
- SQL2005中 sysproperties 无效
- 解决PowerDesigner 生成Sql2005-2012 找不到sysproperties表的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005/2008 对象名sysproperties无效的问题
- Power Designer 生成的sql在sqlserver2008报sysproperties无效的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005 找不到sysproperties表的问题
- 解决PowerDesigner 16 Generate Datebase For Sql2005 找不到sysproperties表的问题
- sql2005从SQL2000导入数据的问题
- sql2005和sql2000同时安装的问题
- SQL2000 SQL2005一起安装的问题
- sql2005转换sql2000应该注意的问题
- iframe自适应高度
- OCP-1Z0-053-200题-13题-97
- EXTJS与java后台交互DWR使用
- My python/java notes
- JAVA位运算常见用法
- SQL2000的系统表sysproperties在SQL2005中 无效的 问题
- 在FormWizard中使用Django-sample-captcha一直出现"invalid captcha“错误
- ios view 画图
- 如何记录Axis 1.4 的WebService SOAP消息?
- Javascript的有趣之处
- Unity
- MSSQL 关键字与使用方法
- assets 与 res/raw的区别
- Android开发常见错误及技巧