我重命名了一个数据库,但ColdFusion仍在寻找旧名称

时间:2013-11-12 19:31:06

标签: sql-server coldfusion coldfusion-10

我们正在创建我们网站的新版本。因此,我制作了当前数据库的副本并将其重命名为新名称。当我尝试加载新网站时,我收到以下错误

[Macromedia][SQLServer JDBC Driver][SQLServer]Invalid object name 'name1.dbo.table'.

CFAdmin中的数据源指向新数据库,站点的源代码使用新数据源。我已经删除了指向旧数据库的数据源。

CF Data Source Name: name2
Database:            name2

我在网站的源代码中找不到任何一个DB,所有查询都是通过存储过程执行的。 (现在所有这些都指向name2而不是name1)这是ColdFusion的全新安装,因此CFAdmin中没有任何东西以某种方式指向旧数据库而不是新数据库。除此之外,我不知道是什么导致了这个问题。任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:4)

如果您确信ColdFusion正在查找正确的数据库,则下一个要检查的位置是存储过程,该过程具有三部分引用,明确提及旧名称。这可能会导致误报,具体取决于名称1,但这是一个开始:

SELECT p.name, m.definition
  FROM sys.procedures AS p
  INNER JOIN sys.sql_modules AS m
  ON p.[object_id] = m.[object_id]
  WHERE m.definition LIKE N'%name1%';
-- put old name here --------^^^^^

它也可能是一个函数或触发器或其他模块,因此扩展搜索可能是明智的:

SELECT o.name, o.type_desc, m.definition
  FROM sys.objects AS o
  INNER JOIN sys.sql_modules AS m
  ON o.[object_id] = m.[object_id]
  WHERE m.definition LIKE N'%name1%';
-- put old name here --------^^^^^

您也可能希望将搜索范围扩大到实例上的其他数据库,您知道,以防万一。 : - )