2

古いクラシック ASP アプリケーションを win2k8 を使用して IIS 7.0 に移行しようとしていますが、できる限り古いコードを変更したくありません。

コントロール パネルの地域および言語オプションの日付形式の地域オプションのカスタマイズで、日付形式を dd-MMM-yy に設定しました。

再起動後も、この日付形式を使用すると、まだ Conversion_failed_when_converting_datetime_from_character_string エラーが発生します。

SQL Server Express 2005 も使用しています。

日付形式を設定する必要がある場所は他にありますか? それらはすべてマシン設定から取得する必要がありますか?

古いコードは本当にばかげたことをしますが、これを変更してもう一度すべてをテストする必要はありません。

古いコードは、「MyTable (ThisDate) 値 ('" & Now() & "') に挿入」を効果的に実行します。

Insert Into MyTable (ThisDate) 値を生成します ('17/03/2009 3:40:48 pm')

メッセージ 241、レベル 16、状態 1、行 1 文字列から日時を変換するときに変換に失敗しました。

実際に不平を言っているのは、これを使用しないように指定しているマシンのリージョン設定にもかかわらず、文字列の「pm」部分です。

4

3 に答える 3

5

これは非常に厄介な問題であり、最終的に使用するリージョン設定とは異なるリージョン設定でServer2008をインストールすることに起因します。

通常、この問題は、サーバーがUSAに設定され、その後ユーザーが場所をUKに設定した場合に発生します。次に、コードが実行されると、2012年1月17日ではなく2012年1月17日が返され、SQLServerは「Conversion_failed_when_converting_datetime_from_character_string」などのエラーを返す場合があります。

問題は、IUSRアカウントに独自のリージョン設定があり、サーバーが従来のASPを実行するときにこの設定を使用することです。これはあなたがそれを修正するためにしなければならないことです...

コントロールパネルから地域と言語のオプションを開きます。[管理]タブが表示されたら、[設定のコピー]をクリックします。「現在のユーザー」の下にリストされている設定が複製したいものであることを確認してください。そうでない場合は、キーボードレイアウトなどに戻って設定してください。[ようこそ画面とシステムアカウント]チェックボックスをオンにして、[OK]をクリックします。リブート。

これで動作するはずです。

于 2012-01-17T10:30:30.663 に答える
1

あなたがしなければならないのは、.Netグローバリゼーションセクションの文化設定をあなたの国に変更することだけであり、それはそれを修正するはずです。

于 2011-01-20T20:38:09.133 に答える
1

地域の設定に注意を払うアプリケーションの場合、設定する必要がある場所は 1 か所だけであり、その場所は既に設定されています。

Conversion_failed_when_converting_datetime_from_character_string」は何から?VBScript? たぶん、地域設定に注意を払っていません。

于 2009-03-17T01:02:07.013 に答える