Tips

空のOn SQL Authenticationデータベースメソッドを避けるべき理由

日付2009/06/05
ID75755 (英語原文参照)
バージョン11
プラットフォームMac & Win

外部アプリケーションからデータベースのSQLサーバに接続した場合、On SQL Authenticationデータベースメソッドもし存在すれば実行され、$0にTrueが代入されない限り、エラーが返されることになっています。

通常はこの方式でSQLの認証が行なわれますが、例外的に、4DのユーザパスワードシステムをそのままSQLで使用する場合、On SQL Authenticationは不必要(も正確には存在してはいけない)なので気をつけなければいけません。たとえば、偶然の仕業で空のOn SQL Authenticationが作成されてしまい、そのことに気づかないことがあるかもしれません。

On SQL Authenticationが存在しない状態と、空のOn SQL Authenticationの違いは、次のスクリーンショットに例証されています。

空のOn SQL Authenticationが存在すると、#9917(一般的なSQLエラー)や#9900(サーバが接続を拒否エラー)など、予期しないことが起こるかもしれません。