タグ付けされた質問 「sqlplus」

Oracle用コマンドラインユーティリティプログラム

4
sqlplusを使用して、独自のtnsnames.oraを変更せずに別のホストにあるOracleデータベースに接続する方法
sqlplusを使用して、別のホストにあるOracleデータベースに接続したい。このページでは、tnsnamesにアイテムを追加して、そのデータベースに接続することを提案しました local_SID = (DESCRIPTION = (ADDRESS = (PROTOCOL= TCP)(Host= hostname.network)(Port= 1521)) (CONNECT_DATA = (SID = remote_SID)) ) そして、それをsqlplusで使用します sqlplus user/pass@local_SID ただし、私の状況では、ローカルtnsnamesを変更することはできません。tnsnamesを変更せずにsqlplus引数を使用するだけでリモートデータベースに接続できますか?何かのようなもの sqlplus user/pass@remote_SID@hostname.network ;( I know, this one is not valid)
80 oracle  sqlplus 

3
sqlplusの出力を1行で表示する方法は?
100列のテーブルがあります。SQL Plus出力ラップでデータを選択すると、読みにくくなります。 私が望むのは、水平スクロールバーを表示するか、何らかの方法で出力を送信することです less 私はSQLPlusで次のステートメントを実行します- SET LINESIZE 32000; SET PAGESIZE 40000; SET LONG 50000; SPOOL output.txt SELECT * FROM big_table; それからbash私は走る- less output.txt 出力はラップされたままで、読み取り不能です。
47 oracle  sqlplus 

9
接続文字列を使用してコマンドラインからSQL Plusに接続します
Oracleデータベースがあるとします。ユーザー名= x、パスワード= y、データベース= zです。また、ポート= a、SID = b、ホスト名= cを知っています。 それでは、どうすれば正しく接続する必要がありますか?次のような多くのオプションを使用しました。 sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))' sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b))) これらのコマンドラインを送信すると、通常、次のようなエラーメッセージが返されます。 ORA-12560:TNS:プロトコルアダプタエラー ORA-12514:TNS:リスナーは現在サービスを認識していません 事前に感謝します!!
41 oracle  sqlplus  string 

14
快適なsqlplusインターフェイス?
私が見つかりました。sqlplusインターフェイスはかなり古くなっています」。いくつかのコマンドまたはキーワードを自由に使用できるのは非常に便利ですが、たとえば、以前の履歴エントリの「矢印」キーは使用できません。 良い置換/拡張とは何sqlplusですか?GUIまたはそれ以上(SSHを介して引き続き有用)のコマンドラインユーティリティである可能性があります。 SQL * Plusは、Oracle Databaseで動作するメインのコマンドライン・ツールです。
21 oracle  tools  sqlplus 

3
SQLとPL / SQLを区別する方法は?
質問は馬鹿げているように聞こえるかもしれませんが、この部分は理解できませんでした。 SQL * Plusは、SQLとPL / SQLの両方で機能します。一部のコードがSQLであるかPL / SQLであるかをどのようにして知ることができますか?私のコードにforループがある場合、それはもうSQLではありませんか? PL / SQLは、ループ、条件などを含むSQLの拡張機能です。その後、SQLコードはデフォルトでPL / SQLコードですか?そうじゃない? SQLとPL / SQLの間に境界はありますか? この質問を引き起こしたb / w SQLとPL / SQLを区別する2つの例: これら2つのcreate tableステートメントの違いは何ですか? /programming/2267386/oracle-11g-varray-of-objects/2267813#2267813

4
SQL * Plusコマンドの最後のセミコロンの意味は何ですか?
create table、insert intoなどの一部のステートメントは、最後にセミコロンを使用します。 CREATE TABLE employees_demo ( employee_id NUMBER(6) , first_name VARCHAR2(20) , last_name VARCHAR2(25) CONSTRAINT emp_last_name_nn_demo NOT NULL ) ; 他の人が好きな間 set echo on connect system/manager 同様にセミコロンなしで通過します。 この背後にある理由は何ですか?セミコロンを配置する場所と配置しない場所を自分で決定するにはどうすればよいですか?

4
空白、セミコロン、およびスラッシュを含むSQLPlusでスクリプトを実行します
ときどき、SQL DeveloperまたはToadで正常に実行されるスクリプトを入手しますが、SQL * Plusから正常に実行するには変更が必要です。それぞれが空白行、セミコロン、およびスラッシュを含む複数のステートメントを含む最悪の例です: INSERT INTO t1 VALUES ('a ; / '); INSERT INTO t1 VALUES ('b ; / '); DELETE FROM t1 WHERE c1 = 'c ; / '; さまざまな理由により、これらのステートメントはSQL * Plusから実行する必要があります。空白行は簡単に解決できます... set sqlblanklines on をsqlterminator変更および/またはオフにすることができますが、どちらもコードの変更が必要であり、前者は問題を解決せずに移動し、埋め込みスラッシュの問題は解決しません。 最善の答えは、何らかの方法で環境を変更することにより(sqlblanklinesが行うように)これらのステートメントを変更せずに実行できるようにする方法です。それが不可能な場合は、おそらくスクリプトをプログラムで変更する方法があります。手動での変更を避けようとしています。

1
CREATE TYPEの後にSQL * PLUSにスラッシュが必要なのはなぜですか?
Typeを定義してTOADでテストしただけで問題はありませんでしたが、すべて問題ありませんでした。しかし、SQL * PLUSで実行するとエラーがスローされました。 例: CREATE OR REPLACE TYPE MyType AS OBJECT ( Item1 NUMBER, Item2 NUMBER ); 何らかの理由でここにスラッシュを追加する必要があります CREATE OR REPLACE TYPE MyType AS OBJECT ( Item1 NUMBER, Item2 NUMBER ); / 私にとっては、スラッシュを必要としないCreate Tableステートメントに似ています。かなり分かりにくいと思います。私はそれがどのように機能するか知っていますが、この設計決定が下された理由を誰でも説明できますか?




1
SQL * Plus、@、および相対パス
どういうわけか、SQL * Plus(少なくともWindowsでは)が呼び出され@@、パスが単一または二重のドットで始まる場合、相対パスを持つスクリプトを見つけることができないようです。 たとえばx:\some\where、次のディレクトリ構造があります。 script.sql main-dir\main-sub-dir call-script.sql script.sql つまり、2つですscript.sqlが、場所が異なります。 script.sql直下の内容x:\some\whereは単純です prompt SCRIPT root 他方script.sqlのコンテンツは prompt SCRIPT main-dir/main-subdir call-script.sql 読む @@script.sql @ script.sql 期待される出力 からSQL * Plusを起動してからx:\some\where、 @main-dir/main-sub-dir/call-scripts 出力は SCRIPT main-dir/main-subdir SCRIPT root シングル@はSQL * Plusが開始された場所@@からのパスを検索し、含まれているスクリプトのディレクトリからパスを検索することになっているため、これは予想されたものです。 予期しない出力 今、私がcall-scripts.sqlそう変更した場合: @@./script.sql @ ./script.sql double @@は、SQL * Plusが開始された場所からパスを検索するという点で、動作を変更しているように見え、出力は次のようになります。 SCRIPT root SCRIPT root これは私が期待したものではありません。 この動作はどこかに文書化されていますか、そしてもっと重要なcall-scripts.sqlことは、相対パス(@@../../other-dir/other-sub-dir/script)を正しく呼び出すように変更するにはどうすればよいですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.