0

JDBC URL にパラメーターを渡すことによって、すべての create table ステートメントで特定の database.tablespace を使用するように強制することはできますか? たとえば、次のように手動で指定する代わりに

CREATE TABLE Message (id INTEGER NOT NULL, created TIMESTAMP, message VARCHAR(255),PRIMARY KEY (id))     in DATABASE.TABLESPACE

接続URLに「database.tablespace」を指定して実行したい

CREATE TABLE Message (id INTEGER NOT NULL, created TIMESTAMP, message VARCHAR(255), PRIMARY KEY (id))
4

1 に答える 1

0

DB2 には、必要な概念がまったくありません。ユーザーがアクセス権を持つ最初のテーブルスペースを「デフォルト」として処理します。

IF table space IBMDEFAULTGROUP (over which the user
  has USE privilege) exists with sufficient page size
    THEN choose it
ELSE IF a table space (over which the user has USE privilege)
  exists with sufficient page size (see below when
  multiple table spaces qualify)
    THEN choose it
ELSE return an error (SQLSTATE 42727) 

したがって、必要なことを達成する方法は、1 つを除くすべてのテーブルスペースからアクセス権限を削除することです。

-- repeat for all tablespaces
revoke use of tablespace myspace1 from public
revoke use of tablespace myspace1 from user/group xxx
-- and make sure the ones you really need have access rights
grant use of tablespace myspace1 to user creatoruser

当然のことながら、これには適切に行動を計画する必要がありますが、そのアプローチは機能します。

于 2011-09-17T21:34:54.793 に答える