今朝、TERA2(LinkStation)を閲覧しようと思い、\\TERA2 にアクセスを試みたところ、できませんでした。
BUFFALO NAS Navigator 2で確認した所、IPアドレスが既定値と思われる192.168.11.150になっています。
この画面で「はい」を選択しても、成功する事は経験上、ほぼ有り得ません。。。
NICにIPアドレスを増やして、Web設定画面にアクセスして、再起動を掛けて対処致しました。
DHCPを有効にしています。しかし、何らかの理由でdhcpサーバーからアドレスを取得できなかったのだろうか。。。
2014年7月22日火曜日
2014年7月15日火曜日
hadoop 2.4.1や2.7.0用winutils.exeとhadoop.dllのダウンロード
試用したかったので、懸案のwinutilsを自前でビルド致しました。
拙作自炊のwinutils.exeとhadoop.dllがダウンロードできます。
hadoop-2.4.1-VC11-winutils.7z
https://drive.google.com/file/d/0Bygl-em20CSKRW5mODhCOXI2clk/edit?usp=sharing
プラットフォームごとに分けています。
x86\hadoop.dll
x86\winutils.exe
x64\hadoop.dll
x64\winutils.exe
Notes
hadoop-2.7.0用 ダウンロード。
拙作自炊のwinutils.exeとhadoop.dllがダウンロードできます。
hadoop-2.4.1-VC11-winutils.7z
https://drive.google.com/file/d/0Bygl-em20CSKRW5mODhCOXI2clk/edit?usp=sharing
プラットフォームごとに分けています。
x86\hadoop.dll
x86\winutils.exe
x64\hadoop.dll
x64\winutils.exe
Notes
- jdk1.7.0_45を使いました。
- Microsoft Visual Studio Express 2012 for Windows Desktopを使いました。
- Static linkedです。C Runtime Libraryの心配は、ございません。
hadoop-2.7.0用 ダウンロード。
2014年6月30日月曜日
切断したネットワークドライブ Dokan
Dokanを使い、仮想ドライブを作っています。
ネットワークドライブ、という扱いにすると、どうしても「切断したネットワークドライブ」になってしまいます。Windows 7だけ? Windows XPではならない、という情報も。。。
http://dokan.googlecode.com/svn/trunk/sys/howtobuild.txt
上のURLのテキストに、次の文言が記されています。
どうも、Dokan専用、network providerを提供する必要が有るようです。
ーーー
(2014/8/2追記, 9/19編集)
判りました。
結論的には、Windows 7の64ビット版でも対応可能、デジタル署名がなくても実現可能です。
但し、64ビット環境では、32ビット用DLL、64ビット用DLLの、両方のDLLを用意する必要が有ります。
レジストリでは、設定は一か所だけ。例のようになっていると思います。
例:%SystemRoot%\System32\davclnt.dll
両方を同時に設置できる謎は、レジストリの仮想化、ファイルシステムの仮想化に有ります。
次のパスのように、仮想化によって実在場所の解釈が異なるので、各々設置できるようになっています。
C:\Windows\System32\davclnt.dll
C:\Windows\SysWOW64\davclnt.dll
これがトリックの全貌でした。。。
ネットワークドライブ、という扱いにすると、どうしても「切断したネットワークドライブ」になってしまいます。Windows 7だけ? Windows XPではならない、という情報も。。。
http://dokan.googlecode.com/svn/trunk/sys/howtobuild.txt
上のURLのテキストに、次の文言が記されています。
** Network filesystem/provider support Dokan supports network filesystem mode. You need dokan network provider dll in \dokan_np. Please build it and copy dokannp.dll into Windows\system32 directly. You need to register network provider dll to system : dokanctl.exe /i n (Unregister network provider : dokanctl.exe /r n) You probably need to restart your computer after register or unregister network provider. And try "mirror.exe /r root_path /l drive_letter /n". /n option means to mount as network drive Network filesystem mode is an experimental implementation and not tested well.
どうも、Dokan専用、network providerを提供する必要が有るようです。
ーーー
(2014/8/2追記, 9/19編集)
判りました。
結論的には、Windows 7の64ビット版でも対応可能、デジタル署名がなくても実現可能です。
但し、64ビット環境では、32ビット用DLL、64ビット用DLLの、両方のDLLを用意する必要が有ります。
レジストリでは、設定は一か所だけ。例のようになっていると思います。
例:%SystemRoot%\System32\davclnt.dll
両方を同時に設置できる謎は、レジストリの仮想化、ファイルシステムの仮想化に有ります。
次のパスのように、仮想化によって実在場所の解釈が異なるので、各々設置できるようになっています。
C:\Windows\System32\davclnt.dll
C:\Windows\SysWOW64\davclnt.dll
これがトリックの全貌でした。。。
2014年6月9日月曜日
Accessで、ODBCリンクテーブル。SQL Native Clientで接続
10分間、つまり600秒間、通信(SQLクエリ)が無いと、接続が切れてしまう。
切れてもエラーにはならないが、再接続までにちょっと時間が掛かる点がネックとのこと。。。
ーーー
リモート クエリの制限時間を設定する方法 (SQL Server Management Studio)
http://msdn.microsoft.com/ja-jp/library/ms189040(v=sql.100).aspx
「remote query timeout オプションは、リモート操作を実行してから MicrosoftSQL Server がタイムアウトになるまでの時間 (秒単位) を指定する場合に使用します。既定値は 600 で、10 分間待機できます。」
ーーー
これかな?
設定方法は次のKBが詳しいです。
SQL Server でリンク サーバー クエリを実行するとエラー メッセージ "タイムアウトが発生しました" が表示される
http://support.microsoft.com/kb/314530/ja
確認方法は良くわかっていませんが、
クエリ「select * from sys.configurations;」で引き出すことはできました。
切れてもエラーにはならないが、再接続までにちょっと時間が掛かる点がネックとのこと。。。
ーーー
リモート クエリの制限時間を設定する方法 (SQL Server Management Studio)
http://msdn.microsoft.com/ja-jp/library/ms189040(v=sql.100).aspx
「remote query timeout オプションは、リモート操作を実行してから MicrosoftSQL Server がタイムアウトになるまでの時間 (秒単位) を指定する場合に使用します。既定値は 600 で、10 分間待機できます。」
ーーー
これかな?
設定方法は次のKBが詳しいです。
SQL Server でリンク サーバー クエリを実行するとエラー メッセージ "タイムアウトが発生しました" が表示される
http://support.microsoft.com/kb/314530/ja
確認方法は良くわかっていませんが、
クエリ「select * from sys.configurations;」で引き出すことはできました。
2014年6月6日金曜日
アイコン作成・編集ソフトウェア 調査の件
2014年5月15日木曜日
nsisでMsiQueryProductState
Access Runtime 2010が入っていなければ、チェックを入れる。
Microsoft SQL Server 2008 Native Client x86/x64が入っていなければ、チェックを入れる。
例:
INSTALLSTATEの定義は次の通り:
Windows Installerの細かい所は存じませんが、5が帰ってきたらセットアップ済みのようです。
MsiQueryProductState function
http://msdn.microsoft.com/en-us/library/aa370363(v=vs.85).aspx
INSTALLSTATE_UNKNOWN (-1)
The product is neither advertised or installed.
INSTALLSTATE_ADVERTISED (1)
The product is advertised but not installed.
INSTALLSTATE_ABSENT (2)
The product is installed for a different user.
INSTALLSTATE_DEFAULT (5)
The product is installed for the current user.
Microsoft SQL Server 2008 Native Client x86/x64が入っていなければ、チェックを入れる。
例:
!include "LogicLib.nsh"
!macro _IsProductInstalled _a _b _t _f
Push $0
!insertmacro _LOGICLIB_TEMP
StrCpy $0 `${_b}`
System::Call 'msi.dll::MsiQueryProductStateA(t) i(r0) .r0'
StrCpy $_LOGICLIB_TEMP $0
Pop $0
!insertmacro _= $_LOGICLIB_TEMP 5 `${_t}` `${_f}`
!macroend
!define IsProductInstalled `"" IsProductInstalled`
Function .onInit
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90140000-001C-0000-0000-0000000FF1CE}" "InstallLocation"
${If} $0 == ""
SectionSetFlags ${AccessDatabaseEngine} 1
${EndIf}
${If} "$PROGRAMFILES32" == "$PROGRAMFILES64"
${IfNot} ${IsProductInstalled} "{A51AFEE1-ED96-45F1-85E4-6A41BC4461C3}" ;x86
SectionSetFlags ${x86} 1
${EndIf}
${Else}
${IfNot} ${IsProductInstalled} "{5F3BA538-ADB6-48C4-90B1-179C0358C53E}" ;x64
SectionSetFlags ${x64} 1
${EndIf}
${EndIf}
FunctionEnd
若干、修正しました。5/15 11:43, 11:52INSTALLSTATEの定義は次の通り:
typedef enum tagINSTALLSTATE
{
INSTALLSTATE_NOTUSED = -7, // component disabled
INSTALLSTATE_BADCONFIG = -6, // configuration data corrupt
INSTALLSTATE_INCOMPLETE = -5, // installation suspended or in progress
INSTALLSTATE_SOURCEABSENT = -4, // run from source, source is unavailable
INSTALLSTATE_MOREDATA = -3, // return buffer overflow
INSTALLSTATE_INVALIDARG = -2, // invalid function argument
INSTALLSTATE_UNKNOWN = -1, // unrecognized product or feature
INSTALLSTATE_BROKEN = 0, // broken
INSTALLSTATE_ADVERTISED = 1, // advertised feature
INSTALLSTATE_REMOVED = 1, // component being removed (action state, not settable)
INSTALLSTATE_ABSENT = 2, // uninstalled (or action state absent but clients remain)
INSTALLSTATE_LOCAL = 3, // installed on local drive
INSTALLSTATE_SOURCE = 4, // run from source, CD or net
INSTALLSTATE_DEFAULT = 5, // use default, local or source
} INSTALLSTATE;
Windows Installerの細かい所は存じませんが、5が帰ってきたらセットアップ済みのようです。
MsiQueryProductState function
http://msdn.microsoft.com/en-us/library/aa370363(v=vs.85).aspx
INSTALLSTATE_UNKNOWN (-1)
The product is neither advertised or installed.
INSTALLSTATE_ADVERTISED (1)
The product is advertised but not installed.
INSTALLSTATE_ABSENT (2)
The product is installed for a different user.
INSTALLSTATE_DEFAULT (5)
The product is installed for the current user.
2014年4月4日金曜日
DataRowやDataRowViewで、DBNullやnullやNullableを設定したり取得したりする件
IsNullになっている列から、値を取得
DataRow → DBNullDataRowView → DBNull
結論: DataRow.IsNull(...) == true の場合、DataRow[...] では DBNull 型のインスタンスが返って来る。
※ クラス(例: String)でも値型(例: TimeSpan)でも、DBNull が出て来る。
※ クラス(例: String)の場合、null を突っ込んだ後でも、DBNull が出て来る。
値を設定
結論: 代入で null に設定したい場合は、常に DBNull.Value を渡すのが無難。クラス(例: String)の場合:
[Ok] DataRow ← DBNull
[Ok] DataRowView ← DBNull
[Ok] DataRow ← null
[Ok] DataRowView ← null
値型(例: TimeSpan)の場合:
[Ok] DataRow ← DBNull
[Ok] DataRowView ← DBNull
[例外発生] DataRow ← null
[例外発生] DataRowView ← null
[例外発生] DataRow ← new Nullable<TimeSpan>();
[例外発生] DataRowView ← new Nullable<TimeSpan>();
※ 『追加情報: Column 't' を null に設定できません。DBNull を使用してください。』
オマケ LINQ to DataSet でのクエリ
DataRow.Field<T>("列名");
DataRow.SetField<T>("列名", 値);
T には int? など Nullable が利用できます。
総括
判定は、{クラス・値}、{DataRow・DataRowView}の別に関わらず、DBNull で実施する:- dr["Column"] is DBNull
- drv["Column"] is DBNull
- dr["Column"] = DBNull.Value
- drv["Column"] = DBNull.Value
登録:
投稿 (Atom)






