次の方法で共有


JetSetSystemParameter 関数

適用対象: Windows |Windows Server

JetSetSystemParameter 関数

JetSetSystemParameter 関数は、データベース エンジンの多数の構成設定を設定するために使用されます。

    JET_ERR JET_API JetSetSystemParameter(
      __in_out_opt  JET_INSTANCE* pinstance,
      __in          JET_SESID sesid,
      __in          unsigned long paramid,
      __in          JET_API_PTR lParam,
      __in_opt      JET_PCSTR szParam
    );

パラメーター

pinstance

この呼び出しに使用するインスタンスを指定します。

Windows 2000: Windows 2000 の場合、このパラメーターは無視され、常に NULL にする必要があります。

Windows XP: Windows XP 以降のリリースでは、このパラメーターは多少オーバーロードされています。 1 つのインスタンスのみがサポートされているレガシ モード (Windows 2000 互換モード) でエンジンが動作している場合、このパラメーターは NULL であるか、 JetInit によって返される実際のインスタンスを含む場合があります。 どちらの場合も、すべてのシステム パラメーター設定がその 1 つのインスタンスから読み取られます。 エンジンがマルチインスタンス モードで動作している場合、このパラメーターは NULL であるか、 JetInit または JetCreateIndex を使用して作成されたインスタンスへのポインターである可能性があります。 このパラメーターが NULL の 場合、グローバル システム パラメーター設定 (または既定) が読み取られます。 このパラメーターがインスタンスの場合、そのインスタンスのシステム パラメーター設定が読み取られます。

これは技術的には out パラメーターですが、この API は指定されたバッファーの内容を変更することはありません。

sesid

この呼び出しに使用するセッションを指定します。

指定すると、指定されたインスタンスは無視され、セッションに関連付けられているインスタンスが使用されます。

paramid

設定されるシステム パラメーターの ID。 システム パラメーターとそのプロパティの完全な一覧については、「システム パラメーター」を参照してください。

lParam

システム パラメーターが整数型の場合に、選択したシステム パラメーターに設定する値を提供します。

szParam

システム パラメーターが文字列型の場合は、選択したシステム パラメーターの値を提供します。

戻り値

この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラーエラー処理パラメーター」を参照してください。

リターン コード

説明

JET_errSuccess

操作は正常に完了しました。

Windows Vista: Windows Vista 以降のリリースでは、システム パラメーターの値を変更せずに成功を返すことができます。 詳細については、「 メタ パラメーター 」トピックの「システム パラメーターのJET_paramEnableAdvanced」を参照してください。

JET_errAlreadyInitialized

インスタンスは JetInit の呼び出しを使用して初期化されており、この操作は結果として実行できません。 これは、値の変更がデータベース エンジンの状態に影響を与えることができない場合に、 JetSetSystemParameter でシステム パラメーターを構成しようとした場合に発生する可能性があります。

JET_errClientRequestToStopJetService

JetStopService の呼び出しの結果、セッションに関連付けられたインスタンスのすべてのアクティビティが停止したため、操作を完了できません。

JET_errIndexTuplesInvalidLimits

指定されたタプル インデックス パラメーターが無効でした。 このエラーは、JET_paramIndexTuplesLengthMin、JET_paramIndexTuplesLengthMax、またはJET_paramIndexTuplesToIndexMaxを無効な値に設定した場合にのみ、JetSetSystemParameter によって返されることがあります。

Windows XP および Windows Server 2003: これは、Windows XP と Windows Server 2003 でのみ発生します。

JET_errInitInProgress

セッションに関連付けられているインスタンスが初期化されているため、操作を完了できません。

JET_errInstanceUnavailable

セッションに関連付けられているインスタンスで、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要がある致命的なエラーが発生したため、操作を完了できません。

Windows XP: このエラーは、Windows XP 以降のリリースでのみ返されます。

JET_errInvalidParameter

指定されたパラメーターの 1 つに予期しない値が含まれていたか、別のパラメーターの値と組み合わせたときに意味のない値が含まれていました。 これは、次の場合に JetSetSystemParameter で 発生する可能性があります。

  • 指定されたシステム パラメーター ID が無効であるか、サポートされていません。

  • 長さが パラメーターの有効範囲外の文字列を使用して、文字列値システム パラメーターを設定しようとしました。

  • 絶対パス表現の長さが、そのパラメーターの有効範囲外であるファイル パスを使用して、文字列値システム パラメーターを設定しようとしました。

    Windows Vista: これは、Windows Vista 以降のリリースでのみ発生します。

  • パラメーターの有効範囲外の整数を使用して、整数値のシステム パラメーターを設定しようとしました。

  • NULLJET_UNICODEINDEX ポインター、無効な LCID、またはサポートされていない LCMapString フラグのセットを使用してJET_paramUnicodeIndexDefaultを設定しようとしました。

    Windows Vista: これは、Windows Vista 以降のリリースでのみ発生します。

  • 指定されたシステム パラメーターは読み取り専用であるため、設定できません。

  • JetInit が呼び出され、データベース エンジンが単一インスタンス モードになり、セッションが指定されなかった後に、システム パラメーターを設定しようとしました。

    Windows XP および Windows Server 2003: これは、Windows XP と Windows Server 2003 でのみ発生します。

  • 指定されたシステム パラメーターはグローバルのみであり、そのシステム パラメーターのインスタンス固有の値を設定しようとしました。

    Windows XP および Windows Server 2003: これは、Windows XP と Windows Server 2003 でのみ発生します。

  • 指定されたシステム パラメーターはインスタンス単位のみで、そのシステム パラメーターのグローバル値の設定が試行されました。

    Windows XP および Windows Server 2003: これは、Windows XP と Windows Server 2003 でのみ発生します。

JET_errInvalidPath

指定されたファイル システム パスが無効です。 このエラーは、ファイル システム パスを表すシステム パラメーターを設定する場合にのみ 、JetSetSystemParameter によって返される可能性があります。 たとえば、 JET_paramSystemPath はこのエラーを返す場合があります。

JET_errNotInitialized

セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。

JET_errRestoreInProgress

セッションに関連付けられているインスタンスで復元操作が進行中のため、操作を完了できません。

JET_errTermInProgress

セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。

JET_errInvalidSesid

セッション ハンドルが無効であるか、閉じられたセッションを参照しています。

このエラーは、すべての状況で返されるわけではありません。 ハンドルはベスト エフォートベースでのみ検証されます。

JET_errInvalidInstance

インスタンス ハンドルが無効であるか、シャットダウンされたインスタンスを参照しています。

このエラーは、すべての状況で返されるわけではありません。 ハンドルはベスト エフォートベースでのみ検証されます。

Windows Vista: このエラーは、Windows Vista 以降のリリースでのみ返されます。

成功すると、システム パラメーターの設定は指定された値に設定されます。

失敗した場合、システム パラメーターの設定は変更されません。

注釈

JetSetSystemParameter では、システム パラメーターごとに選択した設定を検証する処理が不十分です。 適切な設定を適用するには、この検証に依存しないように注意する必要があります。 各システム パラメーターの説明に細心の注意を払い、適切なシステム パラメーター設定については、これらのガイドラインに従ってください。

データベース エンジンが意図したとおりに動作することを保証するために、常に設定する必要があるシステム パラメーターのセットがあります。 具体的には、データベース エンジンによって使用されるファイルの物理レイアウトに影響を与えるシステム パラメーターは常に設定する必要があります。 詳細については、「 システム パラメーター」を参照してください。

すべてのシステム パラメーターには既定値があります。 これらの既定値は時間の経過と同時に進化しており、非常に任意です。 すべての既定値が適切であることを確認するために、アプリケーションですべての既定値を評価することを強くお勧めします。 適切でない場合は、アプリケーションによって構成する必要があります。 これらのパラメーターの多くは、データベース エンジンの信頼性、パフォーマンス、およびリソース使用率に大きな影響を与える可能性があり、これは重要です。

要件

要件

Client

Windows Vista、Windows XP、または Windows 2000 Professional が必要です。

[サーバー]

Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。

Header

Esent.h で宣言されています。

Library

ESENT.lib を使用します。

[DLL]

ESENT.dllが必要です。

Unicode

JetSetSystemParameterW (Unicode) および JetSetSystemParameterA (ANSI) として実装されます。

参照

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
システム パラメーター