2012-01-12 2 views
1

"Modern_Spanish_CI_AS"というデータベースのストアドプロシージャスクリプトを生成しました。 "SQL_Latin1_General_CP1_CI_AS"照合があるサーバーで問題なくこのスクリプトを実行しますが、 "Modern_Spanish_BIN"照合を持つ別のサーバーでは、一部の変数が@userLogin(または他のもの)と宣言されているためスクリプトが失敗し、@userloginが使用されます。ノーキャップ対CAPSストアドプロシージャ生成スクリプトのSQLサーバ照合

スクリプトが似ているかどうか違いはありません。

EXEC dbo.sp_executesql @statement = N'my sp body'

またはスクリプトのようなものです:私は、データベースの照合順序を保証するために、次のことを実行している

CREATE PROCEDURE [dbo].MySpName

正しいもの:

SELECT DATABASEPROPERTYEX('MyDatabase','collation');/*returns "Modern_Spanish_CI_AS"*/

サーバーの照合順序を変更できません。

スクリプトを正常に実行し、spの作業がうまくいくようにするには何千もの式の大文字と小文字を変更する以外に何ができますか?また、SPがvarcharの値を比較しようとすると、実行時に影響がありますか?

おかげで、事前

答えて

1

にあなたは、式の何千ものケースを変更するあなたの教訓を学び、将来的には、常に大文字と小文字を区別する照合サーバでコードをテストする必要があります。

+0

大文字と小文字の違いについても、まともなテキストエディタを使用すると、検索/置換が便利です – StingyJack

+0

ありがとうございました。 –

関連する問題