EditMdbLink
Microsoft Access データベース(Mdbファイル)の、ODBCを経由したリンクテーブル接続先を容易に更新できるソフトです。
次のような場合に有効です:
SQL Serverからリンクテーブルを貼り付けている。開発するとき、お客様に納品するとき、別々のサーバに接続したい。
入手は、こちらから。
2011年9月7日水曜日
2011年9月6日火曜日
loを作成し、書き込む方法
PostgreSQLで、ラージオブジェクトを作成し、書き込む方法。
SELECT lo_creat(0);
結果: 17242
SELECT lo_open(17242, 393216);
結果: 0
SELECT lowrite(0, E'\x31\x32\x33'::bytea);
結果: 3
SELECT lo_close(0);
結果: 0
注意点:同じトランザクション内で実行いたします。そうでなければ、lo_openで開いたハンドルがlowriteに渡る頃には閉じていて、使えないようになります。こちらに注意書きが有りました。
SELECT lo_creat(0);
結果: 17242
SELECT lo_open(17242, 393216);
結果: 0
SELECT lowrite(0, E'\x31\x32\x33'::bytea);
結果: 3
SELECT lo_close(0);
結果: 0
注意点:同じトランザクション内で実行いたします。そうでなければ、lo_openで開いたハンドルがlowriteに渡る頃には閉じていて、使えないようになります。こちらに注意書きが有りました。
2011年9月2日金曜日
WinDbgで、エラー報告データを解析(.NETfx 2.0向け)
備忘録です:
WinDbgを起動する。
[File]→[Open Crash Dump...]
次の場所を開く(Windows Server 2003):
%USERPROFILE%\Local Settings\Application Data\PCHealth\ErrorRep\QSignoff
1556130.cab等、.cabファイルの方を開く。
~~~
打ち込む(.NETfx 2.0対応のため):
.load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll
結果、次の様なメッセージ:
0:000> .load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll
------------------------------------------------------------
sos.dll needs a full memory dump for complete functionality.
You can create one with .dump /ma <filename>
------------------------------------------------------------
~~~
SOS デバッガ拡張 (SOS.dll) コマンド一覧は、こちら。
~~~
打ち込む(.NETfxアプリのダンプかどうか確認する為):
!Threads
結果:
0:000> !Threads
ThreadCount: 3
UnstartedThread: 0
BackgroundThread: 2
PendingThread: 0
DeadThread: 0
Hosted Runtime: no
PreEmptive GC Alloc Lock
ID OSID ThreadOBJ State GC Context Domain Count APT Exception
0 1 1a18 001650e8 a020 Enabled 0116c2ac:0116dfe8 001617e8 1 MTA Sync2ss.RequestFailureException (0116b16c)
2 2 1a3c 00171858 b220 Enabled 00000000:00000000 001617e8 0 MTA (Finalizer)
4 3 18f0 001afb08 200b220 Enabled 01140178:01141fe8 001617e8 1 MTA
~~~
打ち込む(落ちる原因となった例外の情報を得るため):
!pe
結果:
0:000> !pe
Exception object: 0116b16c
Exception type: Sync2ss.RequestFailureException
Message: SS.Auth失敗
InnerException: System.Net.WebException, use !PrintException 01169cb0 to see more
StackTrace (generated):
SP IP Function
0012F150 00C7125A Sync2ss!Sync2ss.Sync+AutoAuth.Auth()+0x4b2
0012F290 00C70A4C Sync2ss!Sync2ss.Sync+<GetRootEnts>d__e.MoveNext()+0x94
0012F30C 6C2FB7A3 System_Core_ni!System.Linq.Enumerable.First[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>)+0x6b
0012F340 00C706BF Sync2ss!Sync2ss.Sync.Find(System.String)+0x177
0012F3B8 00C7033C Sync2ss!Sync2ss.Sync.Run()+0x64
0012F444 00C7018A Sync2ss!Sync2ss.Program.Main(System.String[])+0x11a
StackTraceString: <none>
HResult: 80131500
* 上に出ていますException typeやMessageとStackTraceが確認できたら原因追求がし易くなるはずです。
~~~
打ち込む(オブジェクトの型・フィールド等を確認する):
!do 0116b16c
結果:
0:000> !do 0116b16c
Name: Sync2ss.RequestFailureException
MethodTable: 007551b8
EEClass: 00c80bf4
Size: 72(0x48) bytes
(C:\Program Files\Sync2ss\Sync2ss.exe)
Fields:
MT Field Offset Type VT Attr Value Name
79330b24 40000b5 4 System.String 0 instance 00000000 _className
7932ff98 40000b6 8 ...ection.MethodBase 0 instance 00000000 _exceptionMethod
79330b24 40000b7 c System.String 0 instance 00000000 _exceptionMethodString
79330b24 40000b8 10 System.String 0 instance 0116b148 _message
7932a480 40000b9 14 ...tions.IDictionary 0 instance 00000000 _data
79330cb8 40000ba 18 System.Exception 0 instance 01169cb0 _innerException
79330b24 40000bb 1c System.String 0 instance 00000000 _helpURL
79330740 40000bc 20 System.Object 0 instance 0116b280 _stackTrace
79330b24 40000bd 24 System.String 0 instance 00000000 _stackTraceString
79330b24 40000be 28 System.String 0 instance 00000000 _remoteStackTraceString
79332d70 40000bf 34 System.Int32 1 instance 0 _remoteStackIndex
79330740 40000c0 2c System.Object 0 instance 00000000 _dynamicMethods
79332d70 40000c1 38 System.Int32 1 instance -2146233088 _HResult
79330b24 40000c2 30 System.String 0 instance 00000000 _source
793333ec 40000c3 3c System.IntPtr 1 instance 0 _xptrs
79332d70 40000c4 40 System.Int32 1 instance -532459699 _xcode
今回得られた有用な情報は、ここまでです。
WinDbgを起動する。
[File]→[Open Crash Dump...]
次の場所を開く(Windows Server 2003):
%USERPROFILE%\Local Settings\Application Data\PCHealth\ErrorRep\QSignoff
1556130.cab等、.cabファイルの方を開く。
~~~
打ち込む(.NETfx 2.0対応のため):
.load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll
結果、次の様なメッセージ:
0:000> .load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll
------------------------------------------------------------
sos.dll needs a full memory dump for complete functionality.
You can create one with .dump /ma <filename>
------------------------------------------------------------
~~~
SOS デバッガ拡張 (SOS.dll) コマンド一覧は、こちら。
~~~
打ち込む(.NETfxアプリのダンプかどうか確認する為):
!Threads
結果:
0:000> !Threads
ThreadCount: 3
UnstartedThread: 0
BackgroundThread: 2
PendingThread: 0
DeadThread: 0
Hosted Runtime: no
PreEmptive GC Alloc Lock
ID OSID ThreadOBJ State GC Context Domain Count APT Exception
0 1 1a18 001650e8 a020 Enabled 0116c2ac:0116dfe8 001617e8 1 MTA Sync2ss.RequestFailureException (0116b16c)
2 2 1a3c 00171858 b220 Enabled 00000000:00000000 001617e8 0 MTA (Finalizer)
4 3 18f0 001afb08 200b220 Enabled 01140178:01141fe8 001617e8 1 MTA
~~~
打ち込む(落ちる原因となった例外の情報を得るため):
!pe
結果:
0:000> !pe
Exception object: 0116b16c
Exception type: Sync2ss.RequestFailureException
Message: SS.Auth失敗
InnerException: System.Net.WebException, use !PrintException 01169cb0 to see more
StackTrace (generated):
SP IP Function
0012F150 00C7125A Sync2ss!Sync2ss.Sync+AutoAuth.Auth()+0x4b2
0012F290 00C70A4C Sync2ss!Sync2ss.Sync+<GetRootEnts>d__e.MoveNext()+0x94
0012F30C 6C2FB7A3 System_Core_ni!System.Linq.Enumerable.First[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Func`2<System.__Canon,Boolean>)+0x6b
0012F340 00C706BF Sync2ss!Sync2ss.Sync.Find(System.String)+0x177
0012F3B8 00C7033C Sync2ss!Sync2ss.Sync.Run()+0x64
0012F444 00C7018A Sync2ss!Sync2ss.Program.Main(System.String[])+0x11a
StackTraceString: <none>
HResult: 80131500
* 上に出ていますException typeやMessageとStackTraceが確認できたら原因追求がし易くなるはずです。
~~~
打ち込む(オブジェクトの型・フィールド等を確認する):
!do 0116b16c
結果:
0:000> !do 0116b16c
Name: Sync2ss.RequestFailureException
MethodTable: 007551b8
EEClass: 00c80bf4
Size: 72(0x48) bytes
(C:\Program Files\Sync2ss\Sync2ss.exe)
Fields:
MT Field Offset Type VT Attr Value Name
79330b24 40000b5 4 System.String 0 instance 00000000 _className
7932ff98 40000b6 8 ...ection.MethodBase 0 instance 00000000 _exceptionMethod
79330b24 40000b7 c System.String 0 instance 00000000 _exceptionMethodString
79330b24 40000b8 10 System.String 0 instance 0116b148 _message
7932a480 40000b9 14 ...tions.IDictionary 0 instance 00000000 _data
79330cb8 40000ba 18 System.Exception 0 instance 01169cb0 _innerException
79330b24 40000bb 1c System.String 0 instance 00000000 _helpURL
79330740 40000bc 20 System.Object 0 instance 0116b280 _stackTrace
79330b24 40000bd 24 System.String 0 instance 00000000 _stackTraceString
79330b24 40000be 28 System.String 0 instance 00000000 _remoteStackTraceString
79332d70 40000bf 34 System.Int32 1 instance 0 _remoteStackIndex
79330740 40000c0 2c System.Object 0 instance 00000000 _dynamicMethods
79332d70 40000c1 38 System.Int32 1 instance -2146233088 _HResult
79330b24 40000c2 30 System.String 0 instance 00000000 _source
793333ec 40000c3 3c System.IntPtr 1 instance 0 _xptrs
79332d70 40000c4 40 System.Int32 1 instance -532459699 _xcode
今回得られた有用な情報は、ここまでです。
登録:
投稿 (Atom)