Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの管理 » データベース管理ユーティリティ

 

データ・ソース・ユーティリティ (dbdsn)

SQL Anywhere ODBC データ・ソースの作成、削除、説明、およびリスト作成を行います。

構文
dbdsn [ modifier-options ]
   { -l[ s | u ]
   | -d[ s | u ] dsn
   | -g[ s | u ] dsn
   | -w[ s | u ] dsn [details-options;...]
   | -cl }
主要オプション 説明
@data

指定された環境変数または設定ファイルからオプションを読み込みます。設定ファイルの使用を参照してください。

設定ファイル内のパスワードなどの情報を保護する場合は、ファイル難読化ユーティリティを使用して、設定ファイルの内容を難読化できます。ファイル難読化ユーティリティ (dbfhide)を参照してください。

-l[ s | u ] 使用可能な SQL Anywhere ODBC データ・ソースをリストします。リストの形式は -b オプションまたは -v オプションを使用して変更できます。Windows では、u (ユーザ) または s (システム) 指定子を使用して、オプションを変更できます。デフォルトの指定子は u です。
-d[ s | u ] dsn 指定の SQL Anywhere データ・ソースを削除します。-y を指定すると、確認メッセージを表示せずに既存のデータ・ソースが削除されます。Windows では、u (ユーザ) または s (システム) 指定子を使用して、オプションを変更できます。デフォルトの指定子は u です。
-g[ s | u ] dsn 指定された SQL Anywhere データ・ソースの定義をリストします。出力のフォーマットは、-b オプションまたは -v オプションを使用して変更できます。Windows では、u (ユーザ) または s (システム) 指定子を使用して、オプションを変更できます。デフォルトの指定子は u です。
-w[ s | u ] dsn [ details-options ] 新しいデータ・ソースを作成します。同じ名前のデータ・ソースが存在する場合は上書きします。-y を指定すると、確認メッセージを表示せずに既存のデータ・ソースを上書きします。Windows では、u (ユーザ) または s (システム) 指定子を使用して、オプションを変更できます。デフォルトの指定子は u です。
-cl

dbdsn ユーティリティがサポートしている接続パラメータをリストします。接続パラメータを参照してください。

サポートされている ODBC 接続パラメータの詳細については、ODBC 接続パラメータを参照してください。

変更オプション 説明
-b リストの出力を 1 行の接続文字列にフォーマットします。
-cm

データ・ソースの作成に使用するコマンドを表示します。このオプションを使用すると、作成コマンドをファイルに出力できます。作成コマンドは別のコンピュータにデータ・ソースを追加したり、変更が加えられたデータ・ソースを元の状態にリストアするために使用できます。-cm とともに -g オプションまたは -l オプションを指定しないとコマンドは失敗します。-g を指定すると、指定のデータ・ソースの作成コマンドが表示されるのに対し、-l を指定するとすべてのデータ・ソースの作成コマンドが表示されます。

指定のデータ・ソースが存在しない場合は、データ・ソースを削除するコマンドが生成されます。たとえば、コンピュータに mydsn データ・ソースが存在しない場合、dbdsn -cm -g mydsn は mydsn データ・ソースを削除する次のコマンドを返します。

dbdsn -y -du "mydsn"
-dr

データ・ソースを表示するときに Driver パラメータを含めます。これにより、-cm オプションを使用してデータ・ソースを再作成するときに、dbdsn の現バージョンで異なるバージョンの ODBC ドライバを参照するデータ・ソースを作成することができます。

たとえば、次のようなコマンドを使用してバージョン 9 のデータ・ソースを作成したとします。

dbdsn -y -wu "9.0 Student Sample" -c "UID=DBA;PWD=sql;...;Driver=
Adaptive Server Anywhere 9.0"

dbdsn -cm -l を実行すると、同じコマンドが Driver= パラメータなしで表示されます。これによって、SQL Anywhere バージョン 10.0 の ODBC ドライバを使用して DSN が再作成されます。

それに対し、dbdsn -dr -cm -l を実行すると、Driver= パラメータが含められるため、バージョン 9 の ODBC ドライバを使用した場合とまったく同じデータ・ソースが再作成されます。

-f 使用されているシステム・ファイルの名前を表示します。このオプションは UNIX でのみ使用できます。
-ns

環境変数の設定を使用してシステム情報ファイル (デフォルトのファイル名は .odbc.ini) のロケーションを特定するように指定します。このオプションは、使用される可能性のあるシステム情報ファイルが複数ある場合に、dbdsn が使用するファイルを特定する目的にも利用できます。このオプションは UNIX でのみ使用できます。

データ・ソースを作成するときに -ns オプションを指定しなかった場合、システム情報ファイルはユーザのホーム・ディレクトリとそのパス内で検索されます。

システム情報ファイルがどのように検索されるかについては、UNIX での ODBC データ・ソースの使用を参照してください。

-o filename 指定したファイルに、出力メッセージを書き込みます。
-or

-c オプションとともに指定すると、iAnywhere Solutions Oracle ドライバのデータ・ソースが作成されます。次に例を示します。

dbdsn -w MyOracleDSN -or -c Userid=DBA;Password=sql;
SID=abcd;ArraySize=500;ProcResults=y

-cl オプションを -or オプションとともに指定すると、iAnywhere Solutions Oracle ドライバの接続パラメータのリストを取得できます。

詳細については、iAnywhere Solutions Oracle ドライバを参照してください。

-pe このオプションを指定すると、DSN に PWD エントリがある場合、PWD エントリ内のパスワードが暗号化され、PWD エントリは、暗号化されたパスワードが設定された ENP エントリで置き換えられます。
-q データベース・サーバ・メッセージ・ウィンドウに出力を表示しないようにします。データ・ソースの削除時または変更時に -q を指定する場合は、-y も指定してください。
-v 数行のリスト出力を表としてフォーマットします。
-y 確認を要求するプロンプトを表示しないで、各データ・ソースを削除または上書きします。データ・ソースの削除時または変更時に -q を指定する場合は、-y も指定してください。
詳細オプション 説明
-c "keyword=value;..." 接続パラメータを接続文字列として指定します。接続パラメータを参照してください。
-cw (-c で指定された) DBF パラメータが確実に絶対ファイル名になるようにします。DBF の値が絶対ファイル名でない場合、dbdsn は現在の作業ディレクトリ (CWD) を付加します。オペレーティング・システムの中には、バッチ・ファイルですぐに利用できる CWD 情報がないものもあるので、このオプションは便利です。
備考

変更オプションは、主要オプションの前または後に指定できます。

データ・ソース・ユーティリティは、プラットフォームを問わないユーティリティで、ODBC アドミニストレータに代わり SQL Anywhere ODBC データ・ソースの作成、削除、記述、リストを実行します。このユーティリティは、バッチ処理に役立ちます。

警告

ユーザ ID、パスワード (暗号化の有無は不問)、データベース・キーをデータ・ソースに保存するのは安全な方法ではありません。データベースに機密データが含まれている場合は、このような情報をデータ・ソースに保存しないでください。

Windows オペレーティング・システムでは、データ・ソースはレジストリに保存されます。

ODBC アドミニストレータを使用した Windows でのデータ・ソース作成の詳細については、ODBC データ・ソースの作成を参照してください。

UNIX オペレーティング・システムでは、データ・ソースはシステム情報ファイル (デフォルトのファイル名は .odbc.ini) に保持されます。データ・ソース・ユーティリティを使用して SQL Anywhere ODBC データ・ソースを UNIX 上で作成または削除すると、システム情報ファイルの [ODBC Data Sources] セクションが自動的に更新されます。UNIX で -c オプションを使用して Driver 接続パラメータを指定しない場合、データ・ソース・ユーティリティによって SQLANY11 環境変数の設定に基づき SQL Anywhere ODBC ドライバのフル・パスを使って Driver エントリが自動的に追加されます。

システム情報ファイルの詳細については、UNIX での ODBC データ・ソースの使用を参照してください。

警告

SQL Anywhere データ・ソースのみを使用する場合以外は、UNIX でファイル難読化ユーティリティ (dbfhide) を使って .odbc.ini システム情報ファイルを難読化しないでください。他のデータ・ソース (Mobile Link 同期など) を使用する予定の場合、システム情報ファイルを難読化すると、他のドライバが正しく機能しなくなることがあります。

終了コードは、0 (成功) または 0 以外の値 (失敗) です。ソフトウェア・コンポーネントの終了コードを参照してください。

ODBC 接続パラメータ

データ・ソース・ユーティリティ (dbdsn) は以下の ODBC 接続パラメータをサポートしています。ブール (true または false) 引数は、true の場合は YES または 1、false の場合は NO または 0 のいずれかです。

名前 説明
Delphi Delphi では、1 ローにつき複数のブックマーク値を処理できません。この値を NO に設定すると、各ローに 1 つ (YES の場合は 2 つ) のブックマーク値が割り当てられます。このオプションを YES に設定すると、スクロール可能なカーソルのパフォーマンスが向上します。
DescribeCursor

このパラメータにより、プロシージャが実行されたときにカーソルを再記述する頻度を指定できます。デフォルト設定は [要求に応じて] です。

  • [しない]   カーソルを再記述する必要がない場合には、このオプションを 0、N、または NO に指定します。カーソルの再記述は負荷が高く、パフォーマンスを低下させる可能性があります。

  • [要求に応じて]   カーソルを再記述する必要があるかどうかを ODBC ドライバが決定するようにするには、1、Y、または YES を指定します。プロシージャに RESULT 句があると、ODBC アプリケーションは、カーソルを開いた後結果セットを再記述できません。これはデフォルト設定です。

  • [常に]   2、A、または ALWAYS を指定すると、カーソルを開くたびに再記述します。Transact-SQL プロシージャや、複数の結果セットを返すプロシージャを使用する場合は、カーソルを開くたびに再記述する必要があります。

Description このパラメータにより、ODBC データ・ソースの説明を入力できます。
Driver

このパラメータでは、接続の ODBC ドライバを Driver=driver-name の形式で指定できます。デフォルトで使用されるドライバは SQL Anywhere 11 です。driver-name は、SQL Anywhere X にしてください。その場合、X にはソフトウェアのメジャー・バージョン番号を指定します。driver-nameSQL Anywhere で始まらない場合、データ・ソース・ユーティリティ (dbdsn) によって読み取ることができません。

UNIX では、このパラメータによって共有オブジェクトへの完全に修飾されたパスが指定されます。UNIX で Driver 接続パラメータを指定しない場合、データ・ソース・ユーティリティによって SQLANY11 環境変数の設定に基づき SQL Anywhere ODBC ドライバのフル・パスを使って Driver エントリが自動的に追加されます。

GetTypeInfoChar このオプションを YES に設定すると、CHAR カラムは SQL_VARCHAR ではなく SQL_CHAR として返されます。デフォルトでは、CHAR カラムは SQL_VARCHAR として返されます。
InitString InitString により、接続確立後すぐに実行されるコマンドを指定できます。たとえば、データベース・オプションを設定したり、ストアド・プロシージャを実行したりできます。
IsolationLevel

以下の値の 1 つを指定して、データ・ソースの初期独立性レベルを設定できます。

  • 0   これはコミットされない読み出し独立性レベルとも呼ばれます。これはデフォルトの独立性レベルです。これは最大レベルの同時実行性を提供しますが、結果セットにダーティ・リード、繰り返し不可能読み出し、幻ローが発生する場合があります。

  • 1   これはコミットされた読み出しレベルとも呼ばれます。レベル 0 よりも低い同時実行性を提供しますが、レベル 0 の結果セットに見られる不整合性が一部解消されます。繰り返し不可能読み出しや幻ローが発生することはありますが、ダーティ・リードは発生しません。

  • 2   これは繰り返し可能読み出しレベルとも呼ばれます。幻ローが発生することがあります。ダーティ・リードと繰り返し不可能ローは発生しません。

  • 3   これは直列化可能レベルとも呼ばれます。これは最低レベルの同時実行性を提供する、最も厳しい独立性レベルです。ダーティ・リード、繰り返し不可能読み出し、幻ローは発生しません。

  • snapshot   この独立性レベルを使用するには、データベースのスナップショット・アイソレーションを有効にする必要があります。スナップショット・アイソレーションのレベルは、読み込みと書き込み間の干渉を防ぎます。書き込みは相互に干渉する可能性があります。競合の場合、一貫性のない動作が多少生じる可能性がありますが、パフォーマンスは独立性レベルを 0 に設定した場合と同じです。

  • statement-snapshot   この独立性レベルを使用するには、データベースのスナップショット・アイソレーションを有効にする必要があります。スナップショット・アイソレーションのレベルは、読み込みと書き込み間の干渉を防ぎます。書き込みは相互に干渉する可能性があります。競合の場合、一貫性のない動作が多少生じる可能性がありますが、パフォーマンスは独立性レベルを 0 に設定した場合と同じです。

  • readonly-statement-snapshot   これは、独立性レベルとも呼ばれます。この独立性レベルを使用するには、データベースのスナップショット・アイソレーションを有効にする必要があります。スナップショット・アイソレーションのレベルは、読み込みと書き込み間の干渉を防ぎます。書き込みは相互に干渉する可能性があります。競合の場合、一貫性のない動作が多少生じる可能性がありますが、パフォーマンスは独立性レベルを 0 に設定した場合と同じです。

詳細については、独立性レベルの選択を参照してください。

KeysInSQLStatistics YES を指定すると、SQLStatistics 関数から外部キーが返されるようになります。ODBC 仕様では、SQLStatistics によってプライマリ・キーと外部キーが戻されないように指定しています。しかし、一部の Microsoft アプリケーション (Visual Basic や Access など) では、SQLStatistics によってプライマリ・キーと外部キーが戻されることを前提にしています。
LazyAutocommit 文が完了するまでコミット操作を遅延させるには、このパラメータを YES に設定します。
PrefetchOnOpen PrefetchOnOpen が YES に設定されていると、カーソルを開く要求を含むプリフェッチ要求が送信されます。プリフェッチにより、カーソルを開くたびにネットワーク要求が行われることはなくなります。カーソルを開くときにプリフェッチを実行するには、カラムをバインドしておきます。この接続パラメータにより、クライアント/サーバ要求の数が削減され、LAN や WAN を介したパフォーマンスが向上します。
PreventNotCapable SQL Anywhere ODBC ドライバは、修飾子をサポートしていないため「ドライバが動作しません。」というエラーを返します。ODBC アプリケーションの中には、このエラーを適切に処理しないものもあります。このようなアプリケーションでも作業できるように、このエラー・コードが返されないようにするには、このパラメータを YES に設定します。
SuppressWarnings フェッチ時にデータベース・サーバから返される警告メッセージを表示しない場合は、このパラメータを YES に設定します。バージョン 8.0.0 以降のデータベース・サーバでは、それよりも前のバージョンのソフトウェアに比べて多様なフェッチ警告が返されます。以前のバージョンのソフトウェアを使用して配備されたアプリケーションに対して、フェッチの警告を適切に処理するためにこのオプションを選択できます。
TranslationDLL このオプションは下位互換性のために提供されています。トランスレータの使用はおすすめできません。
TranslationName このオプションは下位互換性のために提供されています。トランスレータの使用はおすすめできません。
TranslationOption このオプションは下位互換性のために提供されています。トランスレータの使用はおすすめできません。
参照

データ・ソース newdsn の定義を書き込みます。データ・ソースがすでに存在する場合でも、確認メッセージは表示しません。

dbdsn -y -w newdsn -c "UID=DBA;PWD=sql;LINKS=TCPIP;ENG=myserver"

次のように、オプションを別の順序で指定することもできます。

dbdsn -w newdsn -c "UID=DBA;PWD=sql;LINKS=TCPIP;ENG=myserver" -y

既知のすべてのユーザ・データ・ソースをリストします (1 行に 1 つのデータ・ソース名)。

dbdsn -l

既知のすべてのシステム・データ・ソースをリストします (1 行に 1 つのデータ・ソース名)。

dbdsn -ls

すべてのデータ・ソースを関連する接続文字列とともにリストします。

dbdsn -l -b

ユーザ・データ・ソース MyDSN 用の接続文字列をレポートします。

dbdsn -g MyDSN

システム・データ・ソース MyDSN 用の接続文字列をレポートします。

dbdsn -gs MyDSN

最初に BadDSN の接続パラメータをリストし、確認メッセージを表示してから、データ・ソース BadDSN を削除します。

dbdsn -d BadDSN -v

確認メッセージを表示せずに、データ・ソース BadDSN を削除します。

dbdsn -d BadDSN -y

データベース・サーバ MyServer のデータ・ソース NewDSN を作成します。

dbdsn -w NewDSN -c "UID=DBA;PWD=sql;ENG=MyServer"

NewDSN がすでに存在する場合は、データ・ソースを上書きするかどうか確認を求められます。

すべての接続パラメータ名とそのエイリアスをリストします。

dbdsn -cl

すべてのユーザ・データ・ソースをリストします。

dbdsn -l -o dsninfo.txt

すべての接続パラメータ名をリストします。

dbdsn -cl -o dsninfo.txt

絶対ファイル名を指定します。DSN が作成されている場合、DBF=c:\SQLAnywhere11\my.db が含まれます。

c:\SQLAnywhere11> dbdsn -w testdsn -cw -c UID=DBA;PWD=sql;ENG=SQLAny;DBF=my.db

SQL Anywhere 11 Demo のデータ・ソースを作成するコマンドを生成し、それを restoredsn.bat というファイルに出力します。

dbdsn -cm -gs "SQL Anywhere 11 Demo" > restoredsn.bat

restoredsn.bat ファイルには以下が含まれます。

dbdsn -y -ws "SQL Anywhere 11 Demo" -c "UID=DBA;PWD=sql;
DBF='C:\Documents and Settings\All Users\Documents\SQL Anywhere 11\Samples\demo.db';
ENG=demo11;START='C:\Program Files\SQL Anywhere 11\bin32\dbeng11.exe';
ASTOP=yes;Description='SQL Anywhere 11 Sample Database'"

UNIX のシステム情報ファイルのロケーションを返します。

dbdsn -f

このコマンドは次の出力を返します。

dbdsn using /home/user/.odbc.ini

システム情報ファイルのロケーションを変更します。

export ODBCINI=./myodbc.ini

dbdsn -f を使用してシステム情報ファイルの新しいロケーションを確認します。

dbdsn using ./myodbc.ini

-ns オプションを使用してデータ・ソースを作成します。

dbdsn -w NewDSN -c "UID=DBA" -ns

このコマンドは次の出力を返します。

Configuration "newdsn" written to file ./myodbc.ini