4

私たちは新しいバージョンのウェブサイトを作成しています。そこで、現在のデータベースのコピーを作成し、名前を新しい名前に変更しました。新しいサイトを読み込もうとすると、次のエラーが表示されます

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

CFAdmin のデータソースは新しい DB を指しており、サイトのソース コードは新しいデータソースを使用しています。とにかく、古いDBを指すデータソースを削除しました。

CF Data Source Name: name2
Database:            name2

いずれかの DB を参照しているサイトのソースには何も見つかりません。すべてのクエリはストアド プロシージャを介して実行されます。(現在はすべて name1 ではなく name2 を指しています) これは ColdFusion の新規インストールであるため、新しい DB ではなく古い DB を何らかの形で指している CFAdmin には何もありません。それ以外は、この問題の原因がわかりません。どんなアイデアでも大歓迎です。

4

1 に答える 1

4

ColdFusion が正しいデータベースを参照していると確信している場合は、次に確認する場所は、古い名前を明示的に言及する 3 部構成の参照を持つストアド プロシージャです。name1 が実際に何であるかに応じて、これは誤検知を引き起こす可能性がありますが、それは始まりです:

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 --------^^^^^

また、念のため、インスタンスの他のデータベースにも検索範囲を広げたいと思うかもしれません。:-)

于 2013-11-12T19:35:09.047 に答える