「未分類」カテゴリーアーカイブ

C#で濁点の含まれる文字列検索を正常に判定させるには?


②の中から「c」が含まれているかを判定する為には、以下の太緑文字の様にコードを記述する必要があります。

①string test_value_1 = “abcdefg”;
②string test_value_2 = “abc゙defg”;

int i_test_1 = -1;
int i_test_2 = -1;

i_test_1 = test_value_1.IndexOf(“c”);
i_test_2 = test_value_2.IndexOf( “c”, StringComparison.Ordinal );

 

StringComparison.Ordinal を付けないと -1 になってしまいます。

原因は不明です。


MySQLを使ったサービス(WordPress/Drupal)にアクセスできなくなった場合


MySQLを使ってDrupalやWordPressを使っているとアクセス数が急増した場合などに、次の様なエラーが出る場合があります。

同時接続数があまりにも大きくなりすぎた場合などに起こります。

そうなった場合には、専用サーバ(Dedicated Server)にログインしMySQLサービスを再起動してみましょう。私の環境ではそれで直りました。

 

Site off-line
The site is currently not available due to technical problems. Please try again later. Thank you for your understanding.

If you are the maintainer of this site, please check your database settings in the settings.php file and ensure that your hosting provider’s database server is running. For more help, see the handbook, or contact your hosting provider.

The mysqli error was: Too many connections.

 

 

mysql_error_drupal


WinSCPでファイル転送時に新しいファイルや更新されたファイルのみを転送対象とするには?


WinSCPでファイルをローカル→サーバ、サーバ→ローカルと転送することがよくあります。この際に既に(前回の操作で)対象ファイルが既に存在する場合には、そのファイルを転送対象から除外(スキップ)しスムーズに転送処理を行う方法をまとめます。

膨大なファイルを転送する場合には新しい(更新された)ファイルのみを転送設定する様にすることで効率があがります。

WinSCPを起動する > メニュー > 転送設定 > 新しい/更新されたファイルのみ(E) 

 

winscp_transfer


WinSCPを使ってサーバ上にあるファイルを検索する。


WinSCPに標準で備わっている機能を使うだけで簡単にWEBサーバ上のファイルを検索する事が出来ます。

WinSCPを使って検索する方法

WinSCPにログイン > メニュー > ファイルの検索(F) > ファイルマスク(F):

の部分に検索したい文字列を入力します。

特定のファイルを検索したい場合には、そのファイル名を入力し開始(S)を押します。

test.txt というファイルを検索したい場合には、

*test*  とファイルマスク(F):部分に入力し、開始(S)をクリックします。

winscp_search


WinSCPの接続・設定情報をエクスポートして別のPCにも反映させるには?


一昔前のWinSCPにはサイト接続情報のインポート&エクスポート機能がなかったのですが、最近(2015年)になってWinSCPでもサイト接続情報を簡単にエクスポート → インポート出来る様になりました。

その手順をメモっておきます。

メニュー > セッション > 新しいセッション > ツール(T) > 設定のエクスポート/バックアップ(E) …

winscp_setting.ini としてデスクトップに保存する。

保存したファイルを別の設定した端末に移動し

メニュー > セッション > 新しいセッション > ツール(T) > サイトのインポート(I)…

たったこれだけで簡単に面倒なFTP設定を他の端末にも移行する事が出来ます。

winspc_backup


C#でファイルをサーバに転送する。


ファイルをサーバに転送する場合には、WebClinetを使うと非常に便利です。単純にローカルのコードをサーバに転送するだけならたった3行で完結します!

WebClient wc = new WebClient();
 wc.Credentials = new NetworkCredential(p_user_name, p_pass_word);
 wc.UploadFile(“ftp://hogehoge.com/test.txt”, “test.txt”);


C#でWEBサーバに転送中に出るエラー【リモート サーバーがエラーを返しました: (553) ファイル名が許可されませんでした】


C#でWEBサーバにファイルを転送した時に以下の様なエラーが出てはまってしまいました><。。。

リモート サーバーがエラーを返しました: (553) ファイル名が許可されませんでした

 

英語メッセージ

Can’t connect to FTP: (553) File name not allowed

 

同じC#のコードでAサーバにはは、正常に転送できるのに Bサーバには転送出来ずこの様なエラーが出る場合には、

①⇒②と試してみると良いです。

 

①転送しようとしているディレクトリのアクセス権限を755 にする。

②ftp接続時のパス指定を修正する。

私の環境では 1) でうまく転送出来なかったので 2) にしたところ正常にファイル転送が出来ました。

1 ) ftp://ftp.hogehoge.com/data

2 ) ftp://ftp.hogehoge.com/public_html/data

 

WinSCP等で正常にサーバ転送出来るのに自前コードで転送出来ないというのは考えてみるとおかしな話しです。原因としてはファイル権限だけではなく、パス指定のミスという事もあり得るので注意しましょう。

 


datetime型の列をグループ化して年月ごとにレコード数を取得する。


access_logsテーブルの中にaccess_date列があったと過程します。

そしてデータが↓の様に入っている事を想定します。

 

2015-03-02 17:35:25

2015-03-03 17:35:25

2015-04-03 17:35:25

 

この際に年・月ごとの数をgroup化することにより求めるSQLは次の様に記述します。

SELECT YEAR( access_date ) , MONTH( access_date ) , DAY( access_date ) , COUNT( * ) AS COUNT_DAILY
FROM access_logs
GROUP BY YEAR( access_date ) , MONTH( access_date ) , DAY( access_date )
ORDER BY YEAR( access_date ) ASC , MONTH( access_date ) ASC , DAY( access_date ) ASC


MySQLで作成済のビューのSQLコードを確認するには?


phpMyAdmin上で作成済のビューを確認する方法を纏めます。

 

1.データベースを選択する。

2.SQLタブをクリックする。

3.コマンドを発行しデータベースに作成されているテーブル一覧を表示する。

SHOW TABLES

4.ビューの名前が確認出来たら、そのビューを作成する為に必要なSQL分を以下コードを実行し確認する。

show create view `{ビュー名}`

※ビュー名は、バックスラッシュ「`」で囲まなくてはなりません。バックスラッシュの入力は、 Shift + @  を押します。

 

5.実行するとビューを作る為のSQLが一部分だけ表示されます。ただし、この状態だとSQLの全体を確認する事が出来ません。そこで

印刷用画面(全テキストを含む)をクリックします。

クリックすると SQL の結果 という画面が開いてその中にビューを作成する為のSQL分が全て表示された状態になります。

show-create-view