2010年2月6日土曜日

EISAの削除方法

ハードディスクのEISA構成の削除方法

  「ファイル名を指定して実行」に "diskpart" と入力

  1. "list disk[Enter]"と入力し、ディスク一覧を表示。EISA領域が存在するディスクの番号を確認する。
  2. "select disk 番号[Enter]"でディスクを選択。
  3. "list partition[Enter]"と入力し、今度はEISA領域のパーティション番号を確認。
  4. "select partition 番号[Enter]"でEISA領域のパーティションを選択
  5. "delete partition override[Enter]"でパーティションを削除
状況
調子の悪いpcのHDDをコピーソフトを使ってUSBのHDDにコピーしようとしたとき
はじめに外付けのHDDをフォーマットしてしまい、なぜかEISA領域が作られてしまった?
これはコピーソフトでコピーを実行時に作られたものかもしれない
しかしソフトのワンタッチコピーでは未割り当てのディスクでないので、できない
外付けの未割り当てのパーティションにコピーしてもcドライブ使用中で再起動を求められ、
再起動後DOS画面でソフトが走っているようだが、外付けHDDはEISAと未割り当ての領域のままでcドライブがコピーされない。外付けのEISA領域を削除して試したいが削除できない

2010年1月9日土曜日

wshスクリプトからpdfが開かない

windowxsp pro sp3
whh 5.7

現象
wshスクリプト経由でpdfファイルを開くと関連付けされているにも関わらずエラーで開かない
エラー
activexオブジェクトを作成できない
アプリケーションが関連付けられていません

処置
acrobat5.0 acrobat reader9.2アンイストール
再起動
acrobat readerインストールでok

やった処理 備考
acrobat5.0で開くようにしていたのでアンインストール
マイコンピュータから関連付けを確認 acrobat reader9.2に鳴っているのを確認
エクスプローラからpdfファイルをwクリックすると普通に開く
Subject: [ruby-list:42348] win32oleの「メソッドが無い」というランタイムエラー
↑似た現象
wise registry cleanerを使って不要レジストリクリア ・・・結果変わらず
別のbmpやtxtは開く
vbで同様の処理をしたら開くかと思って試したが開かず


wsh 関連付けられたファイルを指定して開く
Dim WSHShell
'dumen.vbs ファイル名で、エクスプローラからファイルをwクリックしたのと同じ動きをします。
'exeのインストールパスが端末によって特定できないので、これを作成。
'argumentsは 実行時に指定されるオプション=ファイル名。
'windows scripting host(wsh)使用。参考url http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/wshtop.htm
'ここではpdfをしていするので pdfに指定されたアプリで図面ファイルが立ち上がります。
dumen.vbs
Set WSHShell=Wscript.CreateObject("Wscript.Shell")
Set arg= WScript.Arguments
'msgbox arg.Item(0)
WSHShell.Run arg.Item(0),1,true

使用例
"パス\DUMEN.VBS" "パス\ファイル名.PDF"
起動ファイルの場所が頻繁に変わるacrobat readerをどこpcからも開くように設定するのに使える

関連付けられているファイルを起動する
外部変数を渡して起動する
googleで外部変数で検索してもなかなかヒットしなかった
test.exe test.pdfのような形でファイルを外から指定して関連付けられたpdfファイルを開きたかったんだが
外からの変数の与え方は 
5.知られざる関数たち
を参考にしました

ShellExecuteを使った例 vb
pdfopen.exe
------------------------------------------------------------------------------------------
Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
String, ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long

Private Declare Function GetDesktopWindow Lib "user32" () As Long

Const SW_SHOWNORMAL = 1

Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&

Sub Main()
Dim docname As String
Dim len1 As Integer
Dim ret As Integer
   docname = Command()
len1 = Len(docname)
’渡す変数が"月で渡されるので前後を除去する
docname = Mid(docname, 2, len1 - 2)
' MsgBox docname
    ret = ShellExecute(0, "open", docname, vbNullString, vbNullString, SW_SHOWNORMAL)
End Sub
------------------------------------------------------------------------------------------

vbaで動作確認
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
String, ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long

Private Declare Function GetDesktopWindow Lib "user32" () As Long

Const SW_SHOWNORMAL = 1

Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Sub test()
ret = ShellExecute(0, "open", "ファイルパス/ファイル名", vbNullString, vbNullString, SW_SHOWNORMAL)
End Sub

2010年1月6日水曜日

sqlserver 移行時に ログインユーザーの再マッピングについて

sqlserver2000
参考リンク
駆け出しSEの備忘録

How to fix orphaned SQL Server users

引用
EXEC sp_change_users_login 'Report'
で、ログインにマッピングされていないユーザーを洗い出し
(今回は自分で追加したtestuserがいました)

EXEC sp_change_users_login 'Update_One',
'tesruser','test_login'

または
EXEC sp_change_users_login 'auto_fix',
'tesruser'

2009年9月3日木曜日

*RNF7055 30 1 指定された演算命令で演算項目1が正しくない。

現象
as400 rpgleをコンパイル時、chainでエラー
原因
F仕様書の ratのところにKが入っていない
キー検索をファイル仕様書で指定していないので、chainを使おうとしてこけています

2009年7月18日土曜日

プログラムが大きすぎてメモリに入りません

os winxp home sp2
ram 504mb
症状
canon pixusのドライバをダウンロードして
setup.exeをwクリックしてインストールが始まらず
すぐ終わってしまう
うまくいった処置
違う場所に解凍したらsetup.extのアイコンに絵のマークが表示されてwクリックしたらうまくインストールできた

setup.exeをダブルクリックしてもすぐ終わってしまうのでdosプロンプトから実行

失敗するsetup.exe


成功したsetup.exe


はじめはieから c:\arcというフォルダにダウンロードして失敗していて
firefoxに変えてダウンロード マイドキュメントのダウンロードフォルダにダウンロードして成功しました
その後c:\arcの段ロードファイルをダウンロードフォルダに移動して実行すると
絵のついてsetup.exeができるのを確認しました

0x00000077のストップエラーが出るpcだからhddがもうだめかもしれない
system32のdllでexeの起動時やフォルダを表示するたびにkingsoftでウィルス報告が出てて
HDDディスクも常時点滅しっぱなしでブルースクリーンが出るようになって
修理依頼が来たpcをクリーンインストールしたもの

実はこのpc以前に会計のソフトが入らなくて、レジストリをなおしたりsystem32のdllを復元して依頼主に返したもの。その時点でなんとしてもウィルスが除去できずに無料のアンチウィルスを入れて返したんですが、
そのときクリーンインストールの処置をしておけばまだHDDの破損までは至らなかったとおもわれますが、当初の目的、会計ソフトのインストールができたら返してしまうよな。。。
破損といっても今sのpcでこれを書いていてぜんぜんとまる気配がない訳で
バックアップを取りながらなら、だましだまし使えなくもないかなあとも思えるのですが、
依頼主のpcの知識からいって、どうやってバックアップするのとか、自分で復元なんて望めないので
新たにpcを買ってもらったほうが、依頼主もすっきりすると思われます

2009年7月6日月曜日

実行時エラー1004、アプリケーション定義またはオブジェクト定義のエラーです シート名が合っているのにエラーになる

excel2007 vba
sub test()
worksheets("a").activate '<-----ここでこける
end sub

シート名をダブルクリック、コピーペしてもこける
処置
こけるシートをコピー
a(2)というシートが作られた
worksheets("a(2)").activateでこけないことを確認
シートaを削除
a(2)をaにリネーム
worksheets("a").activateでこけないことを確認

何だったんだろう...

2009年6月19日金曜日

再起動を繰り返すpcを復旧した

症状 起動時ブルー画面が一瞬でて再起動を繰り返す セーフモードでも立ち上がらず
環境 winxp sp2 hdd30G 使用14G ram500MB toshiba satellote1870

処置 メモリテスト 1枚NG 1枚抜いて500MB しかし症状治らず
hddを抜いてusbケースからデータを吸い上げようとするが 認識せず インページ操作のエラー
カシュンカシュンカシュンと小さい音の繰り返し chkdsしようにもhddが認識しないからどうしようもない
瞬間的にEドライブで現れることがあるが操作しようとすると砂時計

usbに、osの入ったtestdiskの入ったhddをさして、winxp cdから回復コンソール 、cドライブ=内蔵は調子のわるいhdd 回復コンソールがDで立ち上がる cは認識しなかった?
c:で移動できたがdir で読み込みエラー
(winxpのcdも2度ほど読まなかったので、クリーニングcdを2度ほど使った、古いpcには何かとお世話になる、というか十分元をとった=クリーニングcd)

chkdsk /rでしばらく考えこんでいたが動き始めて50%でとまる、しばらく放置しておくと64%まで進んでいた。hddの繰り返し音はなくなっていてchkdsk完了
コマンドfixboot cに書き込みますか yで答えると
ブートセクタが壊れている
正常に書き込んだとメッセージ
で正常に起動しました

処置の結論としては根性でchkdsk
2月ごろからdiskエラーが出て最近は冗長エラーとかすぐHDDを交換せよってシステムログがあがりまくってる、、それ放置してバックアップも取らずに、立ち上がらなくなったらこっちにいってくるんだから、なんだかなぁ
まぁこのpc提供したの自分で壊れたHDDフォーマットして提供したんだから、元は言えば自分が悪いんだけど、、、今回はos入りのhddをusbからさしていたのがよかったかなと思ってます、認識しないcドライブで回復コンソールが使えなかったじゃないかとおもったり
もう何回もhddエラーに遭遇してるけどHDDってほんと消耗品ですね
とりあえずバックアップをとって
オンラインウィルススキャン中 65%でとまって嫌なカシュカシュ音が鳴ってる。。。
システムログにはしっかりdiskエラーが記録されてる
カシュカシュいいながらディスクのジーというアクセス音も聞こえる

*壊れかけのHDDにchkdskをかけるのは禁忌なことは分かってます。余計壊れて修復がされに難しくなる場合があります。重要データがあり、業者に高い金を払ってでも復元しなきゃいけない場合は、chkdskを かけてはいけません。。壊れて、業者に出す予定もなく、どうしようもないいHDDに、chkdskをかけたら、たまたまうまくいったという話です。