ヒストリー表示の時にエラー
例えば、次のエラーが発生する場合があります。
ヒストリーを表示する際に、エラーが発生しました。
'', hexadecimal value 0x08, is an invalid character. Line 7092, position 115.
この原因は、表示できない文字が使われているからです。
このエラーメッセージの意味は、制御文字の「BS」(16進数の文字コードでは、0x08)は、無効な文字と示しています。
制御文字は通常入力する時は、入力されるものではありません。しかし、なんらかの原因で、そうした文字が紛れます。例えば、他のテキストをコピー&ペーストしても、制御文字が残っているならそのままペーストされてしまいます。
解決するには、その文字を削除すれば良いのですが、表示されないので分からないことも多いです。対応しているソフトでないと表示されません。
例
ヒストリーを表示する際に、エラーが発生しました。
'', hexadecimal value 0x13, is an invalid character. Line 1481, position 78.
エラーメッセージをコピーし、制御文字を表示できるテキストエディタで確認すると、次のように表示されます。
VCRUNTIME140_1.dllが見つからない
VCRUNTIME140_1.dllが見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
と、エラーダイアログが表示されることがあります。
その時は、
サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード | Microsoft Learn
にある、64bit用の、
X64 | https://aka.ms/vs/17/release/vc_redist.x64.exe |
を、ダウンロードしてインストールして下さい。
Exception while reading from stream
このエラーは、PostgreSQL(正確には、Npgsql)で、ストリーム(データ)を読み取るときに、例外が発生しました、ということです。
データを読み取る時に、タイムアウトしたのでこの例外が発生することが多いようです。
タイムアウトの秒数を伸ばすために、
1 | Timeout=300; CommandTimeout=300; |
を、
サーバー設定>接続設定>接続詳細>接続オプションに設定してみて下さい。
参照:Connection String Parameters: Timeouts and keepalive
それでは、タイムアウト(時間切れで、処理が中断される)の原因はなんでしょうか?
おそらく、原因は様々です。ここでは、いくつか原因を想定してみました。
- HDDからの読み取りに失敗している。物理的に故障している可能性がある。
- CPUの処理が追いつかず、処理がオーバーしている。
- LANで、通信の不具合が発生している。ネットワークの設定の不具合や、ネットワーク上にある機器が原因の可能性がある。
That was definelty some firewalls dropping packages between the server I have the client installed and the database. I asked firewall team to open the route between source and destination and It worked properly.
参考: