DatabaseLink`
DatabaseLink`

OpenSQLConnection

OpenSQLConnection[src]

名前付きデータソースへの接続を作成する.

OpenSQLConnection[JDBC[]]

JDBCオブジェクトが記述するデータソースへの接続を作成する.

OpenSQLConnection[]

名前付きデータソースを作成・管理するためのGUIを開く.

詳細とオプション

  • OpenSQLConnectionを使うためには,まずNeeds["DatabaseLink`"]を使って DatabaseLink をロードする必要がある.
  • 使用可能なオプション
  • "Name"""接続名
    "Description"""接続についてのテキストによる記述
    "Username" ""接続に使用するユーザ名
    "Password" ""接続に使用するパスワード
    "Location"""接続を定義しているファイルの場所
    "Catalog" Automaticデータベースカタログの場所
    "Properties" {}JDBCドライバに渡される,規則として表されたキーと値のペア
    "ReadOnly" Automatic接続を読取り専用に設定する
    "RelativePath" Falseデータベースの場所が設定に相対的に指定されているかどうかを示す(ファイルベースのデータベースについて)
    "Timeout" $SQLTimeout操作に対するタイムアウト設定(秒)
    "TransactionIsolationLevel" Automatic接続にトランザクション分離を設定する
    "UseConnectionPool" Automatic管理されたプールから接続を開く
    "Version"None設定ファイルのバージョン

例題

すべて開くすべて閉じる

  (1)

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているように"DatabaseLink`DatabaseExamples`"パッケージを使ってデータベースをインストールするか,もとの状態に戻す必要がある可能性がある.

名前付きデータソースへの接続を開く:

JDBCを使って指定のデータソースへの接続を開く:

GUIを開く:

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,データベースの例の使用で述べているように"DatabaseLink`DatabaseExamples`"パッケージを使ってデータベースをインストールするか,もとの状態に戻す必要がある可能性がある.

オプション  (9)

"Username"  (1)

ユーザ名を指定する:

"Password"  (1)

ユーザ名とパスワードを指定する:

$Promptを使ってパスワード入力を促す:

"Catalog"  (1)

カタログの実装はRDBMSのタイプとそのドライバによって大きく異なる.例えばMySQLでは,"Catalog"はでデータベースを指定するのに使うことができる.localhost上にインストールされたMySQLのデータベースsandboxに接続する:

同様に,接続URLのデータベースを指定する:

"Properties"  (1)

"Properties"オプションを使うと,JDBCドライバにその他の設定を渡すことができる.例えばDerbyでは,存在しないデータベースに対しては特性"create""true"に設定する必要がある:

特性を設定すると,接続が正常に開く:

接続URLの属性を同様に設定する:

"ReadOnly"  (1)

読取り専用の接続では,表やレコードを変更したり作成したりすることはできない:

"RelativePath"  (1)

ファイルベースのデータベースでは,リソースへの提供されたパスは,絶対パスでない場合は,現在の作業ディレクトリに対する相対パスであると解釈される."RelativePath"オプションを使って,指定の場所に対する相対パスとして解釈させる:

"Timeout"  (1)

接続の試みは$SQLTimeout秒でタイムアウトとなる.$SQLTimeoutにはドライバによって異なるデフォルト値がある."Timeout"オプションを使うと,整数値の秒数をでオーバーライドできる:

"TransactionIsolationLevel"  (1)

開いている接続のトランザクションは,ドライバ依存のデフォルトを使って分離される.オプションで"ReadUncommitted""ReadCommitted""RepeatableRead""Serializable"のうちの一つを指定してオーバーライドする:

トランザクションと分離レベルの詳細はトランザクションチュートリアルを参照されたい.

"UseConnectionPool"  (1)

"UseConnectionPool"オプションを使って,管理されたプールの接続を開くように設定する.プールが存在しない場合は作成される:

これは接続に関連付けられたプールオブジェクトである:

プールとそれに関連付けられた接続をすべて閉じる:

接続プールについての詳細情報は接続プールチュートリアルを参照されたい.

考えられる問題  (2)

  • すべてのJDBCドライバがタイムアウト関連のメソッドを実装しているわけではない."Timeout"オプションを設定しても,特定のドライバには影響を及ぼさない:
  • すべてのJDBCドライバが"TransactionIsolationLevel"オプションに可能なすべての設定を実装しているわけではない.開いている接続がデフォルトの分離レベルに戻る: