C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VB.Netでのコマンド操作について

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■98100 / inTopicNo.1)  VB.Netでのコマンド操作について
  
□投稿者/ RS (26回)-(2021/09/15(Wed) 18:13:37)

分類:[.NET 全般] 

VB.Netから、コマンドを起動し、sqlplusから外部ファイル(sqlファイル)を実行したいです。
この際に、文字コードを指定して外部ファイルを実行する方法はないでしょうか?
具体的にはUTF-8と指定したいです。
コマンドを起動する際に、コマンドラインに「chcp 65001」と設定してみたのですが
うまくいかず、、、

詳しい方、ご教授お願いいたします。

引用返信 編集キー/
■98101 / inTopicNo.2)  Re[1]: VB.Netでのコマンド操作について
□投稿者/ Hongliang (1197回)-(2021/09/15(Wed) 18:37:30)
ProcessクラスおよびProcessStartInfoクラスを使って、sqlplusを直接実行するのが簡単かと思います。
ProcessStartInfoのStandardOutputEncodingプロパティで標準出力のエンコーディングを指定でいます。
https://smdn.jp/programming/dotnet-samplecodes/standard_streams/755e957d2bb811eb9a45317ea7a6b928/
引用返信 編集キー/
■98102 / inTopicNo.3)  Re[1]: VB.Netでのコマンド操作について
□投稿者/ RS (27回)-(2021/09/15(Wed) 18:39:35)
No98100 (RS さん) に返信
> VB.Netから、コマンドを起動し、sqlplusから外部ファイル(sqlファイル)を実行したいです。
> この際に、文字コードを指定して外部ファイルを実行する方法はないでしょうか?
> 具体的にはUTF-8と指定したいです。
> コマンドを起動する際に、コマンドラインに「chcp 65001」と設定してみたのですが
> うまくいかず、、、
>
> 詳しい方、ご教授お願いいたします。
>

上記は解決したのですが、実行結果が読み取れません。
sqlファイルを実行した後、
Dim results As String = sr.ReadToEnd()
と書いているのですが、resultsには「Active code page: 65001」という
文字列が入ってきます。
コマンドからの結果の取得方法をご教授いただければ幸いです。
よろしくお願いいたします。

引用返信 編集キー/
■98103 / inTopicNo.4)  Re[2]: VB.Netでのコマンド操作について
□投稿者/ Hongliang (1198回)-(2021/09/15(Wed) 19:23:48)
sqlplusを*直接*実行と書いたのに、どうしてcmd.exeでchcpを実行してるんです?
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ