質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

3回答

3999閲覧

環境変数 NOCOUNT OFF; が定義されていません

pg_ri

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2018/05/28 08:58

編集2018/05/29 00:39

DBからCSV形式でデータを出力するバッチを作成しております。
実行し、出力したデータの件数をログファイルに記載するようにしたく、

SQL

1Rem SQL実行 2echo バッチ処理を開始します >> %LOG% 3echo 開始時刻:%DATE%%TIME% >> %LOG% 4echo %UID%/%PASS%@%SID% >> %LOG% 5sqlplus -s %UID%/%PASS%@%SID% @%SQLFILE% %LISTFILE% 6SET NOCOUNT OFF; 7rem type C:\BAT\XXXX.csv | find /c /v "">> %LOG% 8echo バッチを正常終了します >> %LOG%

上記の.batを実行したところ、

「環境変数 NOCOUNT OFF; が定義されていません」

というメッセージが表示されました。

環境変数のPathにNOCOUNT OFF;を追加したり、
SET NOCOUNTを追加したりしてみましたが、
同じ結果でした。

「環境変数に定義する」とはどのような設定が必要でしょうか。

また、
1.SET NOCOUNT よりも適している書き方
2.環境変数について理解が不足しているため、これを機に覚えておくべきこと
があればご教授お願い致します。

~追記~

SQL

1Rem SQL実行 2echo バッチ処理を開始します >> %LOG% 3echo 開始時刻:%DATE%%TIME% >> %LOG% 4echo %UID%/%PASS%@%SID% >> %LOG% 5sqlplus -s %UID%/%PASS%@%SID% @%SQLFILE% %LISTFILE% 6SET NOCOUNT = OFF; 7echo バッチを正常終了します >> %LOG%

一旦、SET NOCOUNT = OFF; の記述に変更したところ、
「環境変数 NOCOUNT OFF; が定義されていません」は出なくなりました。
しかし、まだログに件数が出ているわけではないので、
継続して試行錯誤してみます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/05/28 09:06 編集

javaは関係なさそう、もしかしてWindowsでのコマンド・プロンプトのバッチファイルですか?
退会済みユーザー

退会済みユーザー

2018/05/28 23:32

なんだろう?ORACLEでSQLSERVER向けの環境変数を使いたい?
退会済みユーザー

退会済みユーザー

2018/05/29 09:15

sqlplus コマンドが件数出力するのであれば「sqlplus -s %UID%/%PASS%@%SID% @%SQLFILE% %LISTFILE% >>%LOG%」とすればログに出るのでは?
guest

回答3

0

SQLはデータベースによって異なります。データベースはOracleでしょうか?タグで明示されては?

Oracleでしたら、マニュアル SQL*Plus ユーザーズ・ガイドおよびリファレンス のSETシステム変数の一覧 に載っていないから、環境変数では?って言っているのでは?
マニュアルを確認する習慣を身に着けてください。

投稿2018/05/28 09:08

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pg_ri

2018/05/28 23:15

ご回答ありがとうございます。 記載していただいたマニュアルは確認済みですが、システム変数の設定の仕方が分からない、という状態です。分かりずらく申し訳ありませんでした。
退会済みユーザー

退会済みユーザー

2018/05/28 23:26

cmdファイルにしか見えない
Orlofsky

2018/05/28 23:50

右に同じ。 Oracle12cのsqlplusから SET NOCOUNT OFF って実行すると、 P2-0158: 不明なSETオプションです。"NOCOUNT" って怒られます。
退会済みユーザー

退会済みユーザー

2018/05/28 23:51

Sqlserver向けenvだし
Orlofsky

2018/05/29 00:00

SQL Serverは疎いけど、テーブルの内容をCSVに出力するのに環境変数の設定まで必要なんですか?
退会済みユーザー

退会済みユーザー

2018/05/29 00:07

xx件 取得しました 的な出力のON/OFF だったはず
pg_ri

2018/05/29 00:11

環境は、WindowsServer2012R12、Oracle Database 12c Standard Edition R2です。 1..batファイルをクリック  1-1..SQLファイルの読込、DBのデータをCSVファイルに出力  1-2.ログファイルの生成 をしたいと考えています。
Orlofsky

2018/05/29 00:48

asahina1979 さんありがとうございます。件数の出力のON/OFFを環境変数でやるなんて面倒ですね。
Orlofsky

2018/05/29 04:16 編集

pg_riさん、環境は[質問]に追記すると共に[タグ]に[Oracle]を追加してください。 SQLの観点から Oracle Database, PostgreSQL, MySQL の特徴を整理しよう! マニュアルは確認済み、ならマニュアルに載っていない設定は削る、って選択するのが一般的では?マニュアル バグで 載っていないならオラクル・サポートにクレームを入れます。 https://www.ashisuto.co.jp/corporate/column/technical-column/detail/1197236_2274.html テーブルの内容をCSVに出力するには http://otn.oracle.co.jp/otn_pl/otn_tool/code_detail?n_code_id=764 も参考にされては? OracleでのSQLの書き方は以下を参考にされては? csv出力ではないけど。 https://qiita.com/Papageno/items/6b1667ab4a29d925d3ef
guest

0

SQL*PLUSでの実行結果ならSPOOLですけど、そういうことではない?
問い合わせなどの実行結果をファイルに出力する

投稿2018/05/29 04:10

sazi

総合スコア25174

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

  • 環境変数の定義の仕方

SET NOCOUNT=OFF

  • 覚えるべきこと

SQLサーバとOracleの違い、ストアドプロシージャ(T-SQL,PL/SQL)とコマンドプロンプトの違い、コマンドプロンプトとは何か、SQLとは何か、javaとは何か…と枚挙に暇がないですが、おそらく第一に覚えるべきことは"質問の仕方(困っていることの説明のしかた)"かと思います

投稿2018/05/28 09:15

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pg_ri

2018/05/28 23:18

ご回答ありがとうございます。 質問の記載方法が悪く申し訳ありませんでした。 環境変数の定義の仕方、をご教示いただいておりますが、環境変数編集画面には、 「変数」ー「値」と紐づいているかと思います。 今回はこの「変数」ー「値」にSET NOCOUNT=OFF をどう設定するべきかが分かりませんでした。 教えていただけますでしょうか。
papinianus

2018/05/29 04:46

そのやりかたは、変数の欄に新規にNOCOUNTを作って、値にOFFとかく。 ただしこう書いた場合、cmdや.batから使うなら%NOCOUNT%とするはずで、はっきりいって、これでは解決には至らない。 無からこれが生まれたと思えないので、元を作った人なり管理者なりに、どういう経緯で作って、今これが再利用できるか聞いたほうがいいと思う
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問