4

最近、従来の ASP Web サイトを新しいサーバーに移しました。サーバーは IIS7.5 を実行します。このサイトは、ODBC を介して MS SQL データベースに接続します。アプリプールは の下で実行されていNETWORK SERVICEます。

この企業規模の Web サイトには、古いサーバーでは正常に機能していた入力フィールドが散在してdatetimeいますが、現在はすべて次のエラーが発生しています。

[Microsoft][SQL Server Native Client 10.0][SQL Server]varchar データ型を datetime データ型に変換すると、範囲外の値になりました。

間違った形式が予想されdatetimeます。コードで使用される形式は一貫してyyyy/MM/dd. フォーム フィールドで月と日の位置を入れ替えると機能します。つまりyyyy/dd/MM(これは非常に奇妙です)。

Windows コントロール パネル、IIS グローバリゼーション、およびNETWORK SERVICEユーザーのレジストリ キーはすべて en-GB に設定されています。

データベースへの呼び出しまでコードをテストしましたが、入力は問題ないようです。次に、そのSQLもコピーし、自分のログインでSQL Server Management Studioを介して実行しましたが、これも正常に機能します。NETWORK SERVICEWeb サイトを介して ( ODBC 接続の下および介して) 実行した場合にのみ、失敗します。

どんな助けでも大歓迎です。

4

4 に答える 4

2

Web サーバーの ODBC データ ソースで、[データ ソース] を [通貨の数値と日付を出力するときに地域設定を使用する] に設定します...

そう、

Control Panel\All Control Panel Items\Administrative Tools\Data Sources (ODBC)
Double click your data source
Click Next
Enter a valid db user / password, click next
Select the default DB, then next
Make sure the box as described above is CHECKED, then finish.
于 2013-01-09T00:04:23.277 に答える
2

IIS では、Web アプリケーションのアプリケーション プールで -> 詳細設定 ->

[ユーザー プロファイルの読み込み]オプションをTRUEに設定します。これにより、プール ユーザーの設定が強制的に "取得" されます。

于 2013-01-09T13:34:03.313 に答える
2

NETWORK SERVICE ユーザーのログインのデフォルト言語を確認して変更できます。

MS SQL Management Studio では、Object Explorer で Security/Login/ とアカウント名を検索します。コンテキスト メニューには、[プロパティ] エントリがあります。次に、デフォルトの言語を確認します。

于 2013-01-08T21:02:26.937 に答える
1

IIS 6のAspLCID メタベース プロパティ、または IIS 7 以降の LCID プロパティ: ASP 属性を変更できます。これは、デフォルトで使用されるものです。

于 2013-01-08T21:19:59.333 に答える