Office 365 で 再認証したい

Offce365 で 一度非アクティブ化してもう一度再認証したい場合。

 

アカウントに登録されたデバイス名をすぐに変更したい場合などに有効です。

(コンピュータ名を変更すると、そのうち自動で変更されるそうです。)

 

エクセル等を開いても認証画面が出てこない場合は、

 

時刻を一か月以上先に進めて、エクセルを開きなおすと、認証画面が出てきます。

 

時刻がそのままだと、アカウントにログインできないので、

認証画面がでて、サインインをクリックし、IDを入力する画面になったら、

時刻を正常な時間に戻します。

これで、待つことなく再認証できます。

.NET の DataGridViewが遅すぎる。

何度も苦しんできた、.net の DataGridViewのパフォーマンスですが、

ここで一度パフォーマンスを上げるために(下げないために)必要なことを記録しておきます。

 

プロパティ

 ColumnHeaderHeightSIzeMode

    RowHeadersWidthSizeMode

 

の二つは、「絶対にAuto」にしてはいけません。

この二つでパフォーマンスは激落ちです。3秒→ 5分くらい。

 

後は、DataSource にDataTableを突っ込むときは、

一度Visible = False にしたほうが速いような気がします。

Visible = False で処理できる部分は、なるべくDataGridView.Visible = False で

処理を行います。

 

列幅、行高さの調整は、うまくいかなければ、自前で作ったほうがいいです。

DataGridViewのプロパティやメソッドは、visible との兼ね合い、別のプロパティ変更の順番とか、結構色々なところに依存していて、うまくいかないことが多いです。

 

ちゃんとしてあげれば、

3000行を超えるデータも1秒くらいで表示できたりします。

VB.NET OleDbDataAdapter.Fill で DataTable が Nothing になることがある。

MDBにOleDbDataAdapter で sql を発行して DataTable を取得しています。

 

レコード件数がなければ、Table.Rows.Count = 0 になります。

ということで、

Dim Table  As DataTable = GetTable("select * from MasterTable1;") 

For i as Integer = 0 to Table.Rows.Count -1

    MessageBox.Show(Table.Rows(i)(0))

Next

 

のようなコードを書いているのですが、

 

時折原因のわからないエラーが起きていました。

調べてみると、

  Table に OleDbDataAdapter.Fill したときに、

Table がNothing になることがあるのです。

データが取得できずに空になっているのですが・・・。

そうなると、Table.Rows.Count のところで例外が飛びます。

 

原因として考えられるのは、LANケーブルの中途半端な損傷等の、ネットワークの物理的な問題。もしくは、ネットワーク構成の問題か。。。

現象の多発するPCのLANケーブルはつぶれており、中途半端な損傷が発生していた可能性が高いです。

 

といことで、

Dim Table  As DataTable = GetTable("select * from MasterTable1;") 

If Not Table Is Nothing Then

   For i as Integer = 0 to Table.Rows.Count -1

      MessageBox.Show(Table.Rows(i)(0))

   Next

End If

 のようにすれば、例外は出なくなります。

 

 

Chronyd 同期できない CentOS7

Chronyd で同期できない現象が起こっていましたが。

セグメント3つを許可していたのですが、一行で設定してはだめっだったようです。

allow 192.168.1.0/24

allow 192.168.2.0/24

allow 192.168.3.0/24

のように、3行にわけたらできました。

ちなみに、allow 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 と書いた場合は、

一番最初の 192.168.1.0/24 だけ許可されるようです。

Base64の肝

Base64はShift -JISなどの文字列を、US-ASCII で表現するための符号化方式です。

US-ASCII は64文字で構成されています。

元のShift-JISをビット列に変換してつなげ、6ビットずつに区切りなおすと、

64文字で表現可能になります。 (2の6乗は64)

 

 

VB.NET MS ACCESS のSQLでLIKE ワイルドカード

LIKEのSQLACCESS 上でを記述するときは、

SELECT staffcode FROM StaffMaster WHERE StaffCode LIKE '1*';

(頭が1で始まるコードを抽出する)になりますが。

VB.NET からSQLで抽出する場合は、

SELECT staffcode FROM StaffMaster WHERE StaffCode LIKE '1%';

 

というように、ワイルドカードを意味するのは%になっておりますのでご注意を。

VB.NET メール添付ファイルで、無効なファイルと言われる。

System.Web.HttpException: 'メール アタッチメント 'C:\Users\***\Scan\log\2018-0915-103252.txt
' が無効です。'

 

と表示される。

良く調べたら、ファイルパスの最後に、間違ってvbCrlf がくっついていました。