バックエンドとして SQL Server Express 2005 を使用するアプリケーションを保守しています。このアプリケーションにより、ユーザーは新しいデータベースを作成し、新しいデータベースの名前を指定できます。
アプリが既定のデータを読み込んでいるときに、次の SQL 呼び出しを行います。
DBCC CHECKIDENT('[myDB].[CsSchema].[CsMyDataType]', RESEED) WITH NO_INFOMSGS
すべてが英語である限り、コードは正常に機能します。
ただし、ユーザーがデータベース名に漢字を指定した場合、呼び出しは次のようになります。
DBCC CHECKIDENT('[e安丞北e].[CsSchema].[CsMyDataType]', RESEED) WITH NO_INFOMSGS
この呼び出しは次のエラー メッセージで失敗します。
データベース名を使用して、適切に機能する他の多くの呼び出しを行います。たとえば、次のステートメントは問題なく実行されます。
SET IDENTITY_INSERT [e安丞北e].[CsSchema].[CsMyDataType] OFF
このエラーは、DBCC CHECKIDENT 呼び出しに固有のもののようです。何か案は?
注: Windows XP の中国語版を実行しています。