読者です 読者をやめる 読者になる 読者になる

misc.log

日常茶飯事とお仕事と

SQL ServerのSQL整形アドイン(これはいい!)

SQL Server Management StudioでのSQL作成時に、SQL文を整形してくれるツールが無いかと思い探したところ、Poor Man's T-SQL Formatterというアドインが紹介されているのを見つけました。SQL Server Management Studio で SQLを一発整形 – gomokulog作成元の…

curlとNTLMv2

自分用メモ。 curlを使ってWebサービスに接続するPHPプログラムがあるのですが、対象サーバーがNTLM Version 2しか接続できない仕様に変わったため、プログラムを新しいcurlが入ったサーバーに引っ越す必要が出てきました。curlのバージョンは 7.19.7 から 7…

Excelでシートコピー時に謎の名称が重複するという警告が多発する場合

いろんな人が作ったExcel資料をテンプレートとして使いまわそうとして、シートをコピーした際に「名前が重複しています。」的なメッセージが連発で何度も出ることありますよね。あれ、今までずっと「なんだかわかんないけどしょうがないなぁ」と処理していた…

PowerCenter、ファイル出力時のダブルクォート囲みをやめる方法

Informatica PowerCenterで出力対象をフラットファイルにした場合、初期状態では文字列などがダブルクォーテーションで囲われてしまうようです。これをやめる方法、例によってInformaticaのフォーラムでQAがあったのでメモ。network.informatica.com設定はワ…

文字種チェックでよく使っている文字

各種プラットフォームをまたがるシステムなどで、ファイル名やファイル内の文字などが文字化けするのはよくあることですが、化けるかどうかのテストをどうするかは悩ましい問題です。私がよくテストで使っている文字があるので自分用のメモも兼ねて記載して…

ModulusとExponentを指定してRSAで暗号化/復号する(.NET)

客先のデータ保存システムへのアクセスで、ログインにチャレンジ文字列を使ったパスワードの暗号化が必要ということが判明。Webサービス経由でサーバーに要求を掛けるとRSA暗号化用のModulus(モジュラス)とExponent(エクスポーネント)、チャレンジ文字列…

Excelで特定文字列の文字列を変更する

ちょいメモ。 自分用備忘録なので内容がアレなのはご容赦を。Excelで、ある列のセル中にある特定文字列だけを色づけする方法について。とりあえずVBAで処理を組んだので自分用メモ。 対象列は「I列」で、文字列中に「」と「」という文字列が最大5回(最小0回…

ODP.NETのDLL名、変わっていたのね

久々にWindows Formsのアプリをいじることになって、客先からソースをもらって改修作業を……と思ったら、開発環境やら手順やらが全くなくて四苦八苦。その中で、Oracle接続に使っているライブラリが「Oracle.ManagedDataAccess」ってなっていたのでなんだろう…

SSISでパッケージファイルのパスワードが開けない、設定ファイルもうまくいかない…(調査中メモ)

Microsoft Visual Studio 2013 ShellのSQL Server Integration Services(SSIS)デザイナーでSSISの処理定義を作成し、ビルドしてできた拡張子dtsxのファイルをDBサーバー上で動かそうとしているのですが、うまく行きません。特に何も設定無しで作成し、デー…

メッセージボックスを選択した状態でCtrl+Cでコピーしたら……

しらんかった……。Windowsで、メッセージボックスが表示された状態でメッセージボックス自体にフォーカスがあった状態でCtrl+Cを押してから、テキストエディタとかにCtrl+Vで貼り付けると……こんな感じで文言とボタンの表面文字がコピーされるのな……。 いちい…

NPOIで.xls、.xlsx問わず読み込んで処理する方法

.NETアプリからExcel自体を使わずにExcelファイルを扱うライブラリ、NPOIですが、xlsxとxlsでは読み込むオブジェクトが異なるようで。これを共通的に読み込んで IWorkbook型のオブジェクトとして取り扱う方法、こちらに書いてあったのを参考にさせてもらいま…

log4netでログファイルが空であれば生成しなくする方法

log4netを使ったアプリで、ログファイルを「本当にエラーの時だけ出す」という設定にした場合、普通に作るとエラーが無くても空のログファイルができてしまいます。これをなんとか回避できないかという件。とりあえずStackoverflowで該当する質問があったの…

SQL Server、OpenQueryでのSQLは文字列連結などが使えない?

SQL ServerからOracleにリンクテーブル経由でアクセスしていろいろデータを持ってくる処理を作成中。サーバー名やらスキーマ名やらをピリオドでつないだSQL記法だとインデックスが使えず遅いため、SQL ServerのOpenQuery命令でSQLごとOracleに渡し、Oracle側…

若手の指導、「やられたようにしかできない」ものなのですね

仕事の中ですこし「おや?」と思うことがあったので。そろそろ新人さんが各部署に配属されてしばらくたったり、これから本格的に配属されて業務に就くころかとおもいます。その新人への指導方法の表現に、たまに違和感を覚えることがあります。 指導する 教…

Oracle、to_charで'00000000'に変換したあとのsubstrで桁がおかしい?

Oracleのシステムで、「20160825」のようにnumber型で年月日情報持っているというテーブルがあり、これを別RDBに移植するという作業をやってます。で、このデータを扱う処理では下記のようなto_char処理で年月日を「2016/08/25」に変換していました(下記サ…

仕事で使う技術で遊べるかどうか

自社内で書きかけてやめた文章シリーズ。自分用備忘録。 与えられた仕事だけをこなしていくだけで「スキルアップ」なんて無理だし、現時点のライブラリやフレームワークの使い方を完全に伝えきるなんてのも不可能 and 無意味。いかに自分で技術の世界を探検…

ASP.NET/ADO.NETからの実行だと遅いストアドプロシージャ問題、とりあえず解決にめど

昨日書いたこれ……backyard.hatenablog.comSQL Server Management Studioから実行すると1~2秒で結果を返すストアドプロシージャが、なぜかASP.NETのWebアプリから実行すると4分~5分もかかるという問題。とりあえず速度差が無くなったので報告。 対応案 Stac…

SQL Server、ストアドプロシージャ実行計画のキャッシュを確認する(メモ)

メモです。忘れないように。 SQLサンプル SQL Serverのストアドプロシージャ、実行計画のキャッシュ情報を調べるSQL例。 select * from sys.dm_exec_procedure_stats where object_id='2049442375' order by last_execution_time desc select * from sys.dm_…

Webアプリから実行すると遅いSPが、SSMSからだと速い

※一応解決。最新情報は → http://backyard.hatenablog.com/entry/20160810/1470796194 ちょっとメモ。とあるストアドプロシージャが、Webアプリ(ASP.NET、ADO.NET経由)で実行するとタイムアウトしたりしなかったりなのですが、SSMS(SQL Server Management…

ASP.NET Webアプリを新環境に置いたら500.19 Internal Server Error

旧サーバーで動いていたものを、設定ファイルの接続先だけ書き換えて新環境に置いてみたのですが……なぜかエラーが。エラーはASP.NETのファイルのみならず、テスト用に作ったhtmlファイルの表示でも発生。 設定項目の何が原因か調べる おかしく思い、設定ファ…

Informatica PowerCenter、固定長ファイル読み込みと改行

少し詰まったので後々のためにヒントとメモを。InformaticaのPowerCenterで、バイト数で切り出すタイプの区切り文字無しフラットファイルをデータソースにする場合、改行コードに注意しなければならないという話。Windows環境だと改行コードはCR+LFですが、U…

C#やVB.NETからExcelファイルを開いて操作する - NPOI試用

C#からExcelファイルを開いて内容を読みだす必要が出てきたので少し調べものメモ。 NPOI パッと思いつくのはInterop.Excelを使ってのアクセスですが、Office365が入ってきている環境でバージョン依存になったりするプログラムにしたくないので、このやり方は…

自動生成されたユニークキーをSQL Serverで扱う場合の注意

何かのシステムが吐き出したキー文字列をSQL Server上でキーとして利用する場合、照合順序に気をつけましょう。特にアルファベットを多用したキーの場合、キー重複でやられる可能性があります。SQL Serverで日本語を扱うDBを作った場合、たいていテーブルや…

「compromise」の意味

先に書いたパスワードの定期的変更に関する内容で、NISTのガイドラインを英語で少し読んでみて以前から疑問におもってた「compromise」ってなんなの?を調べました。backyard.hatenablog.comevidendce of compromiseという形で文章に出てきます。compromise…

EWSで取得したメールの添付データ

背景と概要 Microsoft Exchangeというメールサーバーには、EWS(Exchange Web Services)というメール情報に関するインターフェイスを提供するウェブサービスが用意されています。このウェブサービスを介してメール情報を取得するという処理を作る必要があっ…

RedmineでのMarkdown記法

仕事で使っているRedmineのWikiやらチケット用記法がMarkdownになっているので、シンタックスについて記載しているサイトを調べていたのですが、あまりないのですね。というわけで自分用備忘録を兼ねてリンクをメモしておきます。 Markdown Syntax Guide/Red…

PostgreSQLの日付型について備忘録

仕事で調べたことをメモしておきます。 年月日時刻を保存する場合につかうtimestamp型ですが、(A) with time zone (B) without time zoneの2通りがあります。 timestamp with time zone DB内ではUTC(協定世界時)で保存。 呼び出しや書き込みの際は処理するク…

SQL Serverの照合順序、略号の意味

SQL Serverの照合順序設定についている「CI_AS」とかって「Case Insensitive」「Accent Sensitive」の略だったのですね……気になるようできちんと調べたことがありませんでした。納得です。こちらのブログで説明されていて知りました。 SQL Server 照合順序の…

文字コード関連の過去エントリー

なんか自分よりずっと前からウェブ関連やってる人たちが全然文字コードとか気にしてなくてノウハウも持ってなくてちょっと参ってるので、とりあえず過去に自分が書いたものを列挙しておきます。何か聞かれたときにさっと調べられるように。 文字コード全般 b…

EWSからメールを持ってくる際に特定のメールだけエラーになる

Microsoft Exchangeのメール処理用I/F、EWSを経由してPHPでメールを取ってくる処理を作成しているのですが、特定文面を含むメールだけがメール取得処理で下記のエラーを起こします。 looks like we got no XML documentエラーは、SoapClientクラスを継承した…

PowerCenterのファイル出力、ヘッダー冒頭の「#」を消す

InformaticaのPowerCenterで、DB内容をCSVファイルに出力する際に設定で見出し行を出力できるのですが、Header Optionsを「Output Field Names」にすると見出し行の冒頭に#がついてしまいます。これを消したく、やり方を調べてみました。参考にしたのはここ…

.NET Reflectorに変わるツール、dotPeek

.NET開発をやっていると、他社や他チームが作成したDLLの中のロジックを追いたくなることがあります。え?ない?あるよね?あります。というわけで、以前は「.NET Reflector」というツールがそういう用途で使えたのですが、残念ながらというか人気があるから…

PostgreSQLのデータベース容量を調べる

お仕事でちょっと調べることになったのでSQLを貼っとく。 select datname, pg_size_pretty(pg_database_size(datname)) from pg_database order by pg_database_size(datname) desc; とりあえずこれでとれるはず。

文字コードを調べられるサイト

PostgreSQLへのデータ投入で文字コードに関するエラーが出たので、コードで検索していたらこんなサイトを発見。www.isthisthingon.org文字⇒コード、コード⇒文字も表示できるのでこれは便利!!!インターネット時代の文字コード作者: 小林竜生,安岡孝一,戸村…

SQL Server のText型に対するInsertに関する制約は?

お仕事メモ。SQL Server 2012上に用意したテーブルのText型カラムに、長い文字列を突っ込もうとしたところ「入らない」という事態が発生。書き込み処理はLinux上で稼働するPHPから。疑うべきポイントはドライバやSQL Serverの設定やらいろいろありそうなので…

Exchange Web Services(EWS)の認証方式

業務メモ。話が進展したら広げます。 とっかかり Microsoft Exchange Serverが公開するWebサービス経由のメール操作窓口「EWS」にうまくつながらないという問題があり調査中。以下のサイトを手掛かりに作業中。 Authentication and EWS in Exchange / MSDN O…

PHPでcurl_init() が見つからないエラーが出る

PHPで作ってもらったWebサービスを自分のPCで動かしてみよう、と環境構築してみたのですが、下記のエラーが出て動きませんでした。 Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] Call to undefined function curl_init() in … なんだろう…

telnetでWebサーバーの生死を確認してみる

15年ほど前、最初の転職で面接に訪れた会社で聞かれたのが「メールサーバーにコマンドを送ってメール取得とか、できますか?」でした。残念ながらやりかたを知らず、できませんと言ったところ不採用。ま、それだけじゃないのですが、そのあとご丁寧に喫茶店…

Visual Basic 6.0 からExcel 2007形式を

メモ実行時にMicrosoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていませんが出てしまうVB6 read .xlsx file using ADOhttp://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=23734

SQL ServerからImage列の内容をファイルとして出力する

SQL ServerのImage型にバイナリデータが突っ込まれている場合、それの内容を見たいと思っても出す方法が見当たりません。先日、そういうデータの取り出し作業があった際はVB.NETでツールを作ったのですが、どうやらSQLからbcpコマンドを無理やり実行する方法…

DTSの定義情報をVisual Studio 2008で確認する(断念…)

結論からいうと、自分の作業環境ではできませんでした。念のため試したことを記載しておきます。参考まで。古いシステムの刷新プロジェクトで、SQL ServerのDTS(Data Transformation Services)が利用されていたので、その内容を見たいのですが…。手元にあ…

PowerCenterのバルク転送モードはSQL*Loaderを使う?

PowerCenterでOracleを転送先にしたデータ転送を行おうとした際に、「索引が定義されています」というエラーメッセージが出てデータ転送に失敗するという現象が発生。調べてもらったところ、データ転送時の設定で「バルク(bulk)」が指定されているとこの現…

SQL ServerからExcelにエクスポートすると先頭空白のデータから空白が消える?

現象等厳密に把握できていないので、とりあえずメモ書き。SQL Server 2012のManagement Studioから、エクスポート機能でテーブルの内容をExcel 2007形式にエクスポートしたところ、先頭が半角空白のデータから先頭空白が消えるという現象がでてしまいました…

PostgreSQLのバージョン情報を確認する

いつも微妙に忘れてて調べなおすのでメモしておきます。すでに動いているPostgreSQLのバージョン確認ですが、下記のSQLを実行すれば取得できます。 select version()これでとれる情報はこんな感じ。 PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled…

CodeIgniterのDB処理でLike検索を行った場合のバグ?

※CodeIgniter 2.1.4での話です(←今現場で使っているのがこれなので…)PHPの開発フレームワークであるCodeIgniterで、Like文を使った検索処理を行った際に内部で生成されるSQLがおかしくなるケースがあることがわかりました。とりあえず忘れないようにメモ。…

だれだよvarcharで宣言したのは。ユニコード文字がDBに入らない

SQL Serverを使った古いシステムの移植作業でDBの定義はそのまま使いまわすということで作業を進めていたのですが、なぜか投入した文字データが化ける。よくよく見てみると型宣言がvarcharになっていました。これですが、SQL Serverだと varchar : 可変長文…

Apacheで特定ディレクトリ以降の直接リンクを禁止する

Apacheで公開しているディレクトリの一部、特定ディレクトリ以降を直接リンク不可に設定する方法、すっかり忘れてました。.htaccessファイルにアクセス制限の設定を書いておいておけば、そこより下のディレクトリに制限をかけることができましたね。 <Fles ~ "\.(jpg|jpeg|gif|bmp|png|tif|tiff)$"> order </fles>…

Exchange Server 2013のインストール、準備段階で挫折(笑)

ちょっと仕事でExchange Serverの動きを知る必要があって、自宅の仮想環境にセットアップしてみようと思ったのですが……眠らせていたWindows Server 2008 R2にWindows Updateをかけるのに数時間。さらにIEをバージョンアップして、Exchange Serverの体験版を…

Linux環境と文字化け

忘れないうちにメモっておく。Linux環境(UTF-8)にWinSCPでファイルを転送し、TeraTermでファイル名や中身を見ると化けていた。化けた文字は・ほっけ ・森鴎外の「おう」どうやらTeraTermが上記の文字を表示しきれていなかっただけみたい。osdn.jpたった2日…

PHPで全角半角変換を行う

全角文字、半角文字の混在が検索処理などを阻害しているとして、入力時に整形処理を行ってほしいとの要望。簡単にできないか、と思って調べたところ、標準関数でありました。あるんですね。いいなこれ。関数名は「mb_convert_kana」。使い方は下記のような感…