"SQL-JDBC" (外部評価システム)
サポートされているデータベースのリスト »ExternalEvaluateの使用法
- ExternalEvaluate["SQL-JDBC",code] はデータベース接続でSQLの列を実行し,Wolfram言語式として結果を返す.
- ExternalEvaluate["SQL-JDBC"form,code] はSQLの列を実行し,指定された form で結果を返す.form に指定できるのは"Dataset","Rows","NamedRows","Columns","NamedColumns"である.
- ExternalEvaluate[{"SQL-JDBC","Evaluator"Evaluator},…] の Evaluator として可能な設定:
-
"path"またはFile["path"] SQLiteデータベースへのパス URL["url"] "backend://user:password@host:port/name"の形式で指定された接続 DatabaseReference[…] SQLデータベース接続 SQLConnection[…] SQL-JDBCデータベース接続
データ型
- SQLのデータ型は適切なWolfram言語式にマップされる.
- 日付と時間は,通常DateObjectとTimeObjectに変換される.
- バイナリデータはByteArrayに変換される.
例題
すべて開くすべて閉じる例 (2)
スコープ (5)
ExternalEvaluateはDatabaseLink`SQLConnectionを取ることもできる:
DatabaseLink`でサポートされるJDBCドライバはどれでも使うことができる:
デフォルトではExternalEvaluateはDatasetを使ってデータを返す:
別の形式でデータを返すためには"ReturnType"を使うことができる:
ローカルのPostgreSQLデータベースのセッションを開始する(この入力を評価するためには,適切なPostgreSQLデータベースインスタンスが実行している必要がある):
サポートされる場合は,ExternalEvaluateは文字列の代りにWolfram言語式を返す:
列のテンプレートを使うと,Wolfram言語式をSQLコードに挿入することができる:
式 x^2+y^2はWolfram言語内で評価され,結果は変換されてSQLのコード列に挿入される:
Associationを使って,手動でテンプレートに引数を与える:
パラメータは,現在使用中のデータベースのバックエンドに従って自動的に正規化される.Integer,ByteArray,String,DateObject,TimeObject等の式は,バックエンドがサポートしている場合は使うことができる:
アプリケーション (2)
データベースに二次的作用を及ぼしている操作は,通常Nullを返す:
バックエンドによっては,データを挿入し戻り値を指定することができるものもある:
後でロールバックを実行するために接続を開いたままにしておくことができる.新しいデータベース接続を開始する:
考えられる問題 (2)
または"SessionEpilog"を使ってデフォルトの時刻帯を設定することができる:
ExternalEvaluateは,すでに開いている接続が提供されても常に内部的に新規の接続を維持する.
StartExternalSessionはJDBC接続を確立する:
ExternalSessionObjectを削除すると,接続は自動的に閉じる: