misc.log

日常茶飯事とお仕事と

業務日誌

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…