技術メモ

【C#】構成システムを初期化できませんでした。エラーが発生する

<エラー内容>

System.Configuration.ConfigurationErrorsException: ‘構成システムを初期化できませんでした。’

内部例外
ConfigurationErrorsException: config ファイルにつき 1 つの <configSections> 要素のみが許可されます。要素が存在する場合、ルート <configuration> 要素の最初の子でなければなりません。

<原因>

App.configファイルに、<configSections>を追加した際、既に存在していた<startup>よりも後に記載したところ、上記エラーが発生。

<configuration>の開始タグ直後に、<configSections>を移動したところエラーは出なくなった。

(良く分からないが、この仕様は変なのでは???)

【MySQL】【Windows】コマンドプロンプトから接続、ダンプ流し込み、Selectまで

接続

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -uroot -ppasswd (データベース名。省略可)

-uでユーザー名指定、-pでパスワード指定(何れもスペースを空けない)

末尾にデータベース名を指定すると、該当データベースが指定された状態で接続される。

データベース一覧取得

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

show databases;で存在するデータベースをすべて確認できる

使用するデータベースの変更

mysql> use sys;
Database changed

全テーブル一覧取得

mysql> show tables;
+-----------------------------------------------+
| Tables_in_sys                                 |
+-----------------------------------------------+
| host_summary                                  |
| host_summary_by_file_io                       |
      :
| x$waits_global_by_latency                     |
+-----------------------------------------------+
101 rows in set (0.00 sec)

テーブル定義確認

mysql> show create table host_summary;

Select

mysql> select * from host_summary;

MySQLコマンドの終了

mysql> quit;

ダンプファイル流し込み

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -uroot -ppasswd < C:\dump.sql

文字化けのエラーが表示される場合は、このコマンドを実行する前に、

chcp 65001

して文字コードをUTF-8にしてから実行したら上手くいった。

尚、元の文字コードに戻すには、

chcp 932

にする。

【C#】FormまたはButtonのClickイベントが発生しない場合(管理者権限で実行していないか?)

ここでは一例です。他にも原因があるかもしれません。

<現象>

Win32 APIのSendInputを利用してマウス操作を自動化して、FormやButtonのクリックを試したが、マウスカーソルの移動はできるが、クリックイベントが来なかった。

<原因>

クリックしたいFormが管理者権限になっており、通常権限にしたところクリックできるようになった。

(C#は直接は関係ない話だと思います・・・)

【curl】【Windows bat】内部コマンドまたは外部コマンド~として認識されていません。エラーになる

curl https://juraku-software.net/?hoge=aaa&hoge2=bbb

として実行すると、

‘hoge2’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

となる。
(文字化け防止のため、コンソールの文字コードをchcp 65001で変更してから実行すると、
‘hoge2’ is not recognized as an internal or external command,
operable program or batch file.
になる)

この場合は、

curl "https://juraku-software.net/?hoge=aaa&hoge2=bbb"

のように”でURLを囲んであげれば、OK!

&は別のコマンドを指定するときに利用するため、hoge2というプログラムが存在しないということになる。

単純なミスだった・・・

【Excel】日本地図へ都道府県単位で色付け

Excel2016の機能を利用して、下のような日本地図を作成できます。

作成した日本地図 ダウンロードしたExcelの色付けと書かれた列の値を書き換えるだけで、該当の都道府県に色が付きます。

必要な設定と、作成した図をpngファイルとして保存できる機能を追加したExcelファイルをご用意いたしました。以下からダウンロードしてご利用ください。

ダウンロードはこちらから(324KB)

Excelを開くと上記の黄色い警告が表示されるので、それぞれのボタンをクリックして有効化してください。

Xperia XZ1(G8342)が充電できなくなったので修理してもらった話

海外版SIMフリーのXperia XZ1(G8342)という機種をAmazonで購入して半年ほど経ったころに、USBを挿しても充電できない状態になってしまいました。

最初は、半年しか経っていなかったので保証の範囲内で修理してもらえるものと思っていましたが、海外モデルの場合は保証が付いていないということを、故障した後で知りました。
初めて海外モデルを購入したのですが、購入前にもっと確認しておくべきでした・・・(SIMフリーの良い機種がこれ以外になかったんですよね・・・)

困っていたところ、ネットで町のお店という海外モデルのスマホを修理してくれるお店を発見しました。

修理可能か問い合わせしたところ、すぐにメールが返ってきました。
金額は税込み12,960円で、お店まではレターパックライトなどで送付する旨の回答がありました(お店までの送料360円は私の負担)。

ほかにお願いできる場所もなかったので、お願いすることにしました。

お願いした後も、連絡をこまめに頂いて安心できました。
無事に修理できたとの旨の回答を頂き、実際に修理してもらった品を確認したところ、外見上も修理したことが分からない状態であり、安心しました(こじ開けた跡があったらどうしようかと不安でしたが、心配無用でした)。

目的であった充電も問題なく行え、USBを利用してPCへのデータ転送を行うこともでき、助かりました。

このサイトは、こういった内容を紹介するものではないのですが、意外と海外モデルの修理についての情報が少なかったので紹介いたしました。

困っている方は一度相談してみてはいかがでしょうか。

◆修理していただいたお店

町のお店

https://machinoomise.com/html/page9.html

 

 

【SQL Server】複数行データをセミコロン区切りの1行に纏める

※SQL Server 2016にて確認

-- ダミーテーブル
with dummyData as (
	select 'AGroup' as code, 'A01' as child
	union 
	select 'AGroup' , 'A02'
	union
	select 'AGroup' , 'A03'
	union
	select 'BGroup' , 'B01'
	union 
	select 'BGroup' , 'B02'
	union
	select 'BGroup' , 'B03'
	union
	select 'CGroup' , 'C01'
)

select
	code,
	left(hoge.child, len(hoge.child) - 1) as child	--末尾のセミコロンを除く
from
	(
	select distinct
		dummy.code,
		(
			select 
				dummyData.child + ';' AS [text()]	--セミコロン区切りしたい列を指定
			from 
				dummyData
			where
				dummyData.code = dummy.code		--大元のfrom句で指定されているテーブルとJOIN
			for xml path ('')
		) as child
	from
		dummyData dummy
	) hoge

■実行結果

codevalue
AGroupA01;A02;A03
BGroup B01;B02;B03
CGroup C01