为什么在数据库中执行一条数据库语句出错,但是代码能够执行下去呢
为什么在数据库中执行一条数据库语句报错,但是代码能够执行下去呢
例如
SELECT ServerState as SERVERSTATE, HostGroup AS HOSTGROUP,UUID AS UUID, ServerMode AS SERVERMODE,MEMORYRATE,
MemoryUsed AS MEMORYUSED,MemoryTotal AS MEMORYTOTAL, CPURate AS CPURATE, LastUpdatetime as LASTUPDATETIME,
MANAGESCRIPT_CONT, QUEUE_CONT,BP_CONT from
(select
sum(case t.FILENAME when'ManageScript'then FileNumber else 0 end) MANAGESCRIPT_CONT,
sum(case t.FILENAME when'Queue'then FileNumber else 0 end ) QUEUE_CONT,
sum(case t.FILENAME when'BP'then FileNumber else 0 end) BP_CONT,SERVERNUM
from T_FileCount t
group by SERVERNUM ) a left outer join T_RecordServerState on a.SERVERNUM = T_RecordServerState.uuid where LASTUPDATETIME > convert(char(10),getdate(),120) ORDER BY HOSTGROUP ,UUID,这条语句 就总是报 对象名 'T_FileCount' 无效。 具体的T_FileCount表我是有的
------解决思路----------------------
你确定执行sql的窗口是基于正确的服务器下的正确的数据库上面打开的?
------解决思路----------------------
对象名 'T_FileCount' 无效
那就一定是你程序执行这句时, 连接的数据库里面没这个表.
或者你连接错了数据库, 比如你电脑 192.168.0.10 和11上都安装了数据库,11上的才正确,但是你连接到了10上
还有可能就是你一台机器上,挂了两个或者两个同类数据库,但是有的数据库添加了这个表,有的没添加,
在你SQL调试时,打开的是正确的数据库连接,而程序调用时,又连接的另外一个数据库.
跟踪下你的数据库连接字符串应该就出来了,
------解决思路----------------------
额,看反了,代码可以执行, 那就是你数据库Ssms对应的当前数据库跟程序不是一个数据库.
程序连接的数据库是正确的,而你ssms连接对应的数据库是错误的. 自己核对清楚下
例如
SELECT ServerState as SERVERSTATE, HostGroup AS HOSTGROUP,UUID AS UUID, ServerMode AS SERVERMODE,MEMORYRATE,
MemoryUsed AS MEMORYUSED,MemoryTotal AS MEMORYTOTAL, CPURate AS CPURATE, LastUpdatetime as LASTUPDATETIME,
MANAGESCRIPT_CONT, QUEUE_CONT,BP_CONT from
(select
sum(case t.FILENAME when'ManageScript'then FileNumber else 0 end) MANAGESCRIPT_CONT,
sum(case t.FILENAME when'Queue'then FileNumber else 0 end ) QUEUE_CONT,
sum(case t.FILENAME when'BP'then FileNumber else 0 end) BP_CONT,SERVERNUM
from T_FileCount t
group by SERVERNUM ) a left outer join T_RecordServerState on a.SERVERNUM = T_RecordServerState.uuid where LASTUPDATETIME > convert(char(10),getdate(),120) ORDER BY HOSTGROUP ,UUID,这条语句 就总是报 对象名 'T_FileCount' 无效。 具体的T_FileCount表我是有的
------解决思路----------------------
你确定执行sql的窗口是基于正确的服务器下的正确的数据库上面打开的?
------解决思路----------------------
对象名 'T_FileCount' 无效
那就一定是你程序执行这句时, 连接的数据库里面没这个表.
或者你连接错了数据库, 比如你电脑 192.168.0.10 和11上都安装了数据库,11上的才正确,但是你连接到了10上
还有可能就是你一台机器上,挂了两个或者两个同类数据库,但是有的数据库添加了这个表,有的没添加,
在你SQL调试时,打开的是正确的数据库连接,而程序调用时,又连接的另外一个数据库.
跟踪下你的数据库连接字符串应该就出来了,
------解决思路----------------------
额,看反了,代码可以执行, 那就是你数据库Ssms对应的当前数据库跟程序不是一个数据库.
程序连接的数据库是正确的,而你ssms连接对应的数据库是错误的. 自己核对清楚下