}I言語の学習 2. SQL ServerとI言語のインストール


2.1 I言語はSQLが使えるソフトが必要ですので、Microsoft SQL Server 2017 Express Edetionをインストールします。
2.1.1 Windows10の64ビットOSパソコンを用意してください。(32ビットOSはSQL Server 2017が動きません)
2.1.2 パソコンでインターネットが出来るようにして下さい。(インターネットからダウンロードします)
2.1.3 Microsoft SQL Server 2017 Express Editionをダウンロードしインストールして下さい。(Express Editionは無償です、特に特殊な設定はしないでインストールします)
2.1.4 Microsoft SQL Server 2017 Management Studioをダウンロードしインストールして下さい。(I言語には特に必要は無いですが、有るとRDBMSの管理が容易ですので、インストールする事をお勧めします)
2.2 I言語をインストールします。
2.2.1 I言語をダウンロードします。
2.2.1.1 Microsoft Edgeで「http://ilanguage.iinaa.net/download.htm」のホームページを表示し最新のI言語のダウンロードをクリックします。
2.2.1.2 下に表示された画面で「保存」をクリックします。
2.2.1.3 下に表示された画面で「フォルダを開く」をクリックします。
2.2.1.4 ダウンロードしたファイル上で右ボタンクリックします。
2.2.1.5 最下行の「プロパティ」をクリックします。
2.2.1.6 最下部のセキュリティの「許可する」又は「ブロックの解除」の左の□をクリックしレ印を付け「適用」「OK」をクリックし許可します。
(これはインターネット等からダウンロードしたファイルはアクセスをブロックする事でセキュリティを確保しています、これを許可しないと実行毎に確認の画面が出て煩わしいので、ここで許可します)
2.2.1.7 再度ダウンロードしたファイル上で右ボタンクリックし「すべて展開」をクリックします。
2.2.1.8 「展開」をクリックし展開します。
2.2.2 I言語のソースプログラムの難読化をします。
2.2.2.1 展開されたディレクトリ内の最下行から3個上に有る「SETUP_JA[.BAT]」をクリック(起動しない場合は以降クリックと有るのはダブルクリックで起動して下さい)します。

(この画面はI言語で表示しています、インストールに必要なパスワードを乱数を使って表示しています)
(I言語でシステム開発をする上ではこのパスワードを知る必要は無いので、絶対に公開しないで下さい)
(システムの再インストールやリンクサーバーの設定等で必要となる場合も有りますが、インストール後簡単には変更出来ないので、ファイルにコピーし他人に見られない場所に保管します)
2.2.2.2 難読化をしない場合は2.2.2.11に行きます。
2.2.2.3 デスクトップ上で右ボタンクリックで「新規作成」で「テキスト ドキュメント」をクリックします。
2.2.2.4 デスクトップ上に出来た「新しいテキスト ドキュメント[.txt]」上で右クリックします。
2.2.2.5 下から番目の「名前の変更」をクリックし分かりやすい名前に変更します。(拡張子はtxtのまま)
2.2.2.6 変更したファイル上でクリックします。(メモ帳が起動します)
2.2.2.7 I言語の画面で右クリックし下から4番目の「Copy Page(Ctrl+A)」をクリックします。
(I言語ではこの操作で画面に表示されている文字をクリップボードにコピー出来ます、「Ctrl」キーを押しながら「A」キーを押しても可能です)
2.2.2.8 次にメモ帳の画面をクリックし「Ctrl」キーを押しながら「V」キーを押し、クリップボードの内容をコピーします。
2.2.2.9 コピーが正しく行われている事を確認し、右上の×と「保存する」をクリックして一旦ファイルに保存します。
2.2.2.10 再度変更したファイル上でクリックしメモ帳を立ちあげます。
2.2.2.11 I言語の画面をクリックし「Enter」キーで次に行きます。
2.2.2.12 「ユーザーアカウント制御」で「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」と出るので「はい」で次に行きます。

(I言語はソースプログラムを公開しているので、ソースプログラムから容易にパスワードを知る事が出来ます、ソースを公開しているので、難読化しても、完全には防げませんが、少しでもパスワードの漏洩を防ぐ為に、難読化の対応も行いましたので、ここで、「YES」で難読化を実施します)
2.2.2.13 難読化をしない場合は'NO'[Enter]で難読化を迂回し2,2,3,5に行きます。
2.2.2.14 'YES'[Enter]で難読化を開始します。

2.2.2.15 PROXY=でプロキシーサーバーを使っていない場合は空白を、使っている場合は「IPアドレス:ポート番号」を入力しで[Enter]で次に行きます。
2.2.2.16 (1)で「YES」[Enter]で最初にMONOをダウンロードしインストール画面がでるので、「Next」をクリックしインストールします。
2.2.2.17 全てダウンロード出来た場合は最下行に行くので[Enter]で次の画面に行きます。
(MONOでC#のLinux用のプログラムをコンパイルします)
(その後難読化ソフトと各RDBMSのDLLをダウンロードして、コンパイルで他のRDBMSも動くようにします)
(ダウンロード中にエラーと成った場合はダウンロードしたディレクトリが変わってしまっている可能性があるので、c:\TMP以下のディレクトリ名を確認し、2個目のディレクトリ名を変更し[Enter]でエラーを無くします)

2.2.2.18 ここで先ほどパスワードをコピーしたメモ帳をクリックします。
2.2.2.19 左に有る難読化用のパスワードをドラックして色を付けます。
2.2.2.20 メモ帳上で右ボタン「コピー」でクリップボードにコピーします。
2.2.2.21 今度はI言語の画面をクリックします。
2.2.2.22 「Ctrl」キーと「V」キーでクリップボードからのコピーを2回実行し[Enter]キーで次に行きます。
(ここで、ソースプログラムの一部を書き変えて、再コンパイルをし、難読化が実行されます)

(この画面は難読化する前のI言語が表示しているので、一旦処理を終了し再度STUP_JA.BATを起動し新しいプログラムでインストールを開始します)
2.2.2.23 エラーが無ければ上の画面が出るので[Enter]キーで終了します。
(同じ会社内で複数のI言語をインストールする場合は、難読化済のファイルをそのままコピーしてインストールし、再難読化はしないで下さい、クライアントでは同じI言語のプログラムを使っているので、再難読化してしまうと動かないシステムが出てしまいます。尚、何らかの理由でソースプログラムを変更した場合は、再度同じパスワードを使って難読化して下さい)
2.2.3 I言語のインストールを開始します。
2.2.3.1 「SETUP_JA[.BAT]」をクリックします。
2.2.3.2 「I言語用パスワード設定」画面が出ますが、既にコピー済ですので[Enter]で次に行きます。
2.2.3.3 「ユーザーアカウント制御」で「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」と出るので「はい」で次に行きます。

2.2.3.4 既に難読化済ですので「SKIP」[Enter]で次に行きます。(注意:VER25以前はこの画面は出ません)

2.2.3.5 インストールの説明文が書いてあるので、読んで内容を確認し、問題が無ければ[Enter]で次に行きます。

2.2.3.6 「システム名」はマシン単位に設定出来ます、とりあえず'I'とします。
2.2.3.7 「セットアップ名」は同じ組織内では同じ名前とする事を推奨します、パスワードの暗号化に使います、とりあえず'I'とします。
2.2.3.8 「INSTALL_FILE」はセットアップ名を設定済の場合はファイルが作られておりNOと表示されます。新規設定ではYESと表示されます。
2.2.3.9 「データベース名」はMicrosoft SQL Server 2017 Express Editionは'M2017EX'にします。
2.2.3.10 「実行」は「使用許諾契約書」を承諾する場合のみ、'YES'[Enter]で次に行きます。

2.2.3.11 「インスタンス名」はSQL Server 2017 Express Editionを普通にインストールした場合'SQLEXPRESS'のままで良いです。
2.2.3.12 「JDBC」もそのままで良いです。
2.2.3.13 「RUN」で[Enter]で次に行きます。

2.2.3.14 「データベース更新記録を蓄積する」は'YES'のままとします。
('YES'とする事でデータベースの更新記録が蓄積され、運用中に何らかの障害でデータベースが壊れても、障害直前の状態まで復元可能に成ります)
2.2.3.15 「パスワードに複雑さの要件を満たす必要がある」はWindows10の場合は'NO'と成るのでそのままで良いです。
2.2.3.16 「管理者用パスワード」に同じ物を2回入れます。
(SQL Serverの認証方法はOSのログインIDを使うWindows認証と、SQL Serverのみに有効なSQL Server認証が有り、普通にインストールするとWindows認証のみが有効と成ります、I言語ではWindows認証は使わないで、SQL Server認証を使うので、I言語からRDBMSを管理したい場合はSQL Server認証の管理者権限が必要と成ります、そこで、SQL Server認証の管理者権限を持ったSAを有効にし、ここで、入力したパスワードを設定します、I言語からRDBMSを管理するプログラムを実行する場合はSAのパスワードが必要と成りますので、他人に知られないように記憶して置いて下さい、尚、SAのパスワードはI言語側には記憶されないので、インストール後に変更しても問題は出ません、管理担当者が変わった場合は変更する事を推奨します)

2.2.3.17 「システム名称」はクライアントに出来るアイコンの名称に成るので、組織内でユニークにします。今回はとりあえず'I'とします。
2.2.3.18 「リンクパスワード」「テストパスワード」「本番パスワード」は最初に立ちあがった画面でメモ帳にコピーしたパスワードをコピー&ペーストして貼り付けます。
2.2.3.19 「各ドライブ」を設定います。今回はとりあえず全部'C'としています。
2.2.3.20 「OS認証 拒否」「隠し共有 取り消し」「ゲスト開放」は全て'NO'とします。
(「OS認証 拒否」はSQL ServerのWindows認証を無効にします、I言語ではWindows認証を使っていないので'YES'で拒否出来ますが、Windows認証で動いているソフトも有るので、その辺を掌握している人のみ'YES'で拒否して下さい)
(「隠し共有 取り消し」は$付きの隠し共有を無効にします、隠し共有が無いと動かないソフトも有るので、その辺を掌握している人のみ'YES'で拒否して下さい)
(「ゲスト開放」はGuestのログインIDを有効にします、I言語では特に必要が無いですが、Guestを有効にしたい場合のみ'YES'で解放します)
2.2.3.22 「RUN」で'Yes'[Enter]でインストールを開始し、正常にインストールされるとNEXTで停止すので[Enter]で次に行きます。

2.2.3.23 'Yes'[Enter]で「ツール用管理者パスワード変更」画面を立ちあげます。

2.2.3.24 使用者に'ZZZZZZZZ'旧パスワードに'ZZZZZZZZZZZZZZZZ'を入れ新パスワード1/2と新パスワード2/2に新しいパスワード(7文字以上、英字最低1文字、数字最低1文字必要です、この設定値は全ての使用者のパスワードに適用されます、変更したい場合は、次の「各種定義情報(混在テーブル)を更新」で変更する事もできます)を入れて[Enter]します。

2.2.3.25 JUGEで'3'[Enter]で修正をします。
2.2.3.26 更に使用者に'ZZZZZZZY'旧パスワードに'ZZZZZZZZZZZZZZZY'を入れ新パスワード1/2と新パスワード2/2に新しいパスワードを入れて[Enter]、'3'[Enter]で修正し完了です。
2.2.3.27 [Esc]キーを押すと画面が消えるので、元の画面で[Enter]し次に行きます。

2.2.3.29 「各種定義情報(混在テーブル)を更新」するので'YES'[Enter]で画面を立ちあげます。

2.2.3.30 使用者に'ZZZZZZZZ'、パスワードに新しく設定したパスワードを入れます。(パスワードが16文字無い場合は最後に[Enter]します。

2.2.3.31 [Enter]で検索します。
2.2.3.32 ←キーを押して、↓キーでZZZZZZ_SYSTEMまで移動して'0'で選択します。
(I言語では←キーで行表示位置に移動出来、選択や更新が出来るように成っています、また、↓と↑キーで行を上下に移動出来ます)

2.2.3.33 ←キーを押して、最初の行に移動し、↓キーと↑キーで上下に移動出来るので、修正が必要な個所で'3'を押して修正します。(最後[Enter]で修正出来ます)
(元の画面にそれぞれが、どのような物かの説明があるので、修正が必要な個所が有れば修正します)
2.2.3.34 修正が終わったら、[Esc]キーを2回押して画面を閉じ、元の画面で[Enter]で次に行きます。

2.2.3.35 「カレンダー既定休日 更新」を実行するので'YES'[Enter]で起動します。

2.2.3.36 使用者に'ZZZZZZZZ'、パスワードに新しく設定したパスワードを入れ、パスワード通過後←キーを押して更新します、'2'で作成,'1'で削除します。
(JP-00-0-01はJPで日本で月とマークが00-0で日が曜日と成り01が日曜日なので、毎週日曜日は休日の意味とないます)
(JP-00-0-07はJPで日本で月とマークが00-0で日が曜日と成り07が土曜日なので、毎週土曜日は休日の意味とないます)
(JP-01-2-02はJPで日本で月が01で1月、マークが2で第2で日が曜日で月曜日なので、1月第2月曜日が休日の意味となります)
(JP-01-D-01はJPで日本で月が01で1月、マークがDで日が日となるので、1月1日が休日の意味となります)
(春分の日と秋分の日は3月21日と9月23日の固定日に成っているんで、カレンダーが出来た時点で修正して下さい)
(ここで既定の休日を設定する事で、カレンダーの休日が、それに合わせて作られるので、組織の休日に合わせて修正しておきます)
2.2.3.37 更新終了後、[Esc]キーを押して画面を閉じ、元の画面に戻ります。

2.2.3.38 「時間起動最新状態表示」を立ちあげるので'Yes'[Enter]を実行します。

(この画面はサーバーでの時間起動処理の最新情報で、サーバー稼働中は常に表示させておきます)
(この画面はスタートアップで起動されます)
2.2.3.39 元の画面に戻り「システム起動状況」を立ちあげるので'Yes'[Enter]を実行します。

(この画面はサーバーの現時点での状態を確認する為の物です)
(「NEXT TIME ERROR」が赤く表示されて、エラーと成っています、これは次の稼働日の起動予約が無い意味です、まだ、朝の立ちあげ処理を実行していないので、エラーと成っています)
(この画面はスタートアップで起動され、エラーが有ればエラーを表示し、無ければ終了します)
2.2.3.40 元の画面に戻り「メニュー表示」を立ちあげるので'Yes'[Enter]を実行します。

(これがメニューの画面です、デスクトップに出来たアイコンをクリックしても、同じ物が表示されます)
(5行目の黄色はメニューを立ちあげた時のお知らせ用メッセージです、通常は表示しませんが、このような事が出来る事を示す意味で表示しています)(注意:VER25以前はインストールソフトにミスが有り表示されない物も有ります)
2.2.3.41 元の画面に戻り、朝の立ちあげ処理を実行するので'Yes'[Enter]を実行します。

2.2.3.42 使用者に'ZZZZZZZZ'、パスワードに新しく設定したパスワードを入れ、パスワード通過後←キー、↓キーを2回押して99-99の「SYSTEM START」を'0'で選択します。

2.2.3.43 実行するので'RUN'[Enter]で次に行きます。

2.2.3.44 先頭から実行するので←キーでZZZZ-99-99-50の位置で'0'で選択します。

2.2.3.45 全てを実行するので'ALL'[Enter]で実行します。

(時間起動が終了すると、このようなメッセージが表示され、「(I) End」で始まっていれば正常終了しています)
2.2.3.46 これでインストール作業が終了しました。不要と成った画面は右上の×をクリックしても終了出来ます。
2.2.3.47 最後にディスクトップに作ったパスワードのコピーされたファイルをUSBメモリー等に移動して、他人に見られないように保管して下さい。
Reserved, Copyright (C) 2017-2017 Nobumichi Harasawa.