misc.log

日常茶飯事とお仕事と

業務日誌

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