2 hansen chen hansen_chen 于 2014.07.24 16:32 提问

如何解决sql server2008下提示master.dbo.spt_datatype_info不存在的问题?

USE DB_AA
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE dbo.[GetFldInfo]
WITH ENCRYPTION

AS
Begin
SELECT Cast(Upper(Obj.name) As Varchar(28)) As TABLE_NAME, Cast(Col.name As Varchar(20)) As FieldNAME,
Fld_NO=convert(int,(select count(*) from syscolumns C where C.id = Col.id
AND C.number= Col.number AND C.Colid<= Col.Colid )),
Cast ( spt_dtp.LOCAL_TYPE_NAME As Varchar(20)) As FieldTYPE,
CONVERT(int, OdbcPrec(Col.xtype,Col.length, Col.xprec) + spt_dtp.charbin) As FieldLen,
Cast (Com.text As Varchar(100)) As defaultValue,
CASE Col.isnullable WHEN 1 THEN 'YES' ELSE 'No' END As IsNullable,
ISKey =(select TOP 1 A.ColID from sysIndexkeys A,Sysindexes B where (A.ID=B.ID) and (A.IndID=B.IndID) And (A.ColID=Col.ColID)And (A.ID=Obj.ID) And (B.Name like 'PK%') order by B.INDID )
FROM SysObjects Obj, master.dbo.spt_datatype_info Spt_dtp, Systypes typ, TABLESRC Src ,
Syscolumns Col LEFT OUTER JOIN
Syscomments Com ON Col.cdefault = Com.ID AND Com.ColID = 1
WHERE Obj.ID = Col.ID AND Typ.xtype = Spt_dtp.ss_Dtype AND (spt_dtp.ODBCVer IS NULL OR
Spt_dtp.ODBCVer = 2) AND Obj.xtype='U' And User_ID('dbo')=Obj.UID and
Col.xusertype = Typ.xusertype AND (spt_dtp.AUTO_INCREMENT IS NULL OR
Spt_dtp.AUTO_INCREMENT = 0) And (Upper(Obj.Name)=Src.Table_name)

Order by Src.Table_name,Col.ColID
END
GO
在sql2000下执行没问题,在sql2008下,提示master.dbo.spt_datatype_info不存在

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
在SQL 2008中无法删除索引的办法,提示服务器上不存在源文件
断开引擎,重新连接,刷新数据库,再对索引进行删除操作,成功删除!
如何解决sql注入问题
如何解决sql注入问题如何解决sql注入问题
安装SQL server2008教程及常见问题的解决
安装SQL不是和安装普通软件那么简单,特别是对于新手来说。安装SQL,需要做一定的配置,即使有过安装经验也会被不知名的错误折磨到头大。本文主要对网上看到安装中出现的常见问题和解决方法整理和汇总,希望能够对你有所帮助(本文引用内容皆指出来源,感谢相关链接原创作者) SQLserver安装教程,参见百度经验: http://jingyan.baidu.com/article/948f592
解决重新安装sqlserver2008报错Reporting Services目录数据库文件存在的问题
删除 D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA 目录下的reporting.mdf和日志等文件即可
SQL Server 2008安装时总是提示重启计算机的解决方法~
在SQL Server 2008进行安装时,安装程序会自动进行系统检测,以确认安装环境是否有问题,有时会经常碰到需要进行系统重新启动,信息如下: 此时即使是进行电脑重启,也会报这个错误,那么就不是电脑的问题了,其实是系统注册表在作怪,解决方法如下: 1、开始-->运行,输入regedit,打开注册表管理器; 2. 找到 HKEY_LOCAL_MACHINE\SYSTEM\Curren
SQL server2008中对象名无效问题
第一次发贴,还望各位勿喷小弟。 在使用SQL server 2008 数据库的时候,偶尔会遇到对象名无效的问题。在这里,我新建了一个名为test 的数据库,并建了一张名为Table_1的表。 然后在新建查询下执行了SQL语句并且通过 通过刷新,可以看到test数据库中出现了名为Table_2的表,但在对Table_2执行SQL语句时,却发现Table_2对象名无效,但可以运行,
SQL挂起解决办法-2010
重新安装SQL数据库,经常会发现提示挂起状态,这里介绍了如何解决这问题。
win8上安装sql server (2008 and 2008 R2)存在兼容性问题怎么解决
 安装sql2008R2之前,需要先下载“AccessDatabaseEngine”组件并安装(百度上搜索下载就可以了),打补丁重启,再安装sql2008,安装时候提示兼容性问题,选择运行程序而不获取帮助就可以了,不影响使用。“AccessDatabaseEngine”组件官方下载地址http://www.microsoft.com/zh-cn/download/details.aspx?i
SQLServer2008安装手册
SQLServer2008安装手册,帮助你轻松完成SQL Server2008的安装,解决安装痛苦问题
SQL Server 2008 评估期已过的解决办法
今天上班一打开SQL Server,就报了下面这个问题 很显然,SQL Server 试用期到了,微软提醒我们购买。大家经济允许的话,还是要买正版。 对于我们这些暂时无力承担正版费用的屌丝群体怎么办呢? 显然,重装不是一个好的办法。 SQL Server软件装起来很麻烦,还需要一段时间。况且光卸载老版本就是个问题,很难卸载干净。卸载加安装,半天就过去了。 通过百度,找到了一些