Symfoware

Symfowareについての考察blog

Symfoware V12(Openインターフェース)の外部接続を許可する

Windows Server 2012 R2にSymfoware V12(Openインターフェース)をインストールしてみました。
Windows Server 2012 R2にSymfoware V12(Openインターフェース)をインストールする

外部から接続できるように構成してみます。



Windowsファイアウォール



Windowsファイアウォールで、使用するポートの通信を許可します。
使用するポートはインスタンス生成時に指定した「26500」です。

サーバーマネージャーから「Windows ファイアウォール」をクリック。

410_01.png


「詳細設定」をクリック。

410_02.png


「セキュリティが強化されたWindowsファイアウォール」で、「新しい規則」をクリック。

410_03.png


「新規の受信の規則ウィザード」が開始されます。
「ポート」を選択して次へ。

410_04.png


許可するポート番号に「26500」を指定して次へ。

410_05.png


「接続を許可する」で次へ。

410_06.png


規則を適用する範囲はすべてチェックをつけておきました。

410_07.png


適当にルールの名前をつけて、完了で内容を確定します。

410_08.png


ちゃんとルールが適用されています。

410_09.png





pg_hba.confの編集



PostgreSQLを勉強してたので、助かりました。
Windows Server 2012 R2 + PostgreSQL 9.3.2 外部接続許可

データベースのインスタンスを作成したパス、
例えば「C:\Administrator\inst1\data」にある「pg.hba.conf」をメモ帳で開きます。

410_10.png


IPv4 local connections:の項目に


host all all 192.168.1.1/24 md5



という形式の記載を追記します。
指定しているIP範囲は、接続元のクライアントのセグメントです。

410_11.png


この指定がないと、例えばJavaの場合こんなエラーになります。


org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for
host "192.168.1.4", user "Administrator", database "sample", SSL off (10696)
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:398)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:173)




編集が終わったら、ファイルを保存しておきます。




インスタンスの再起動



変更内容を反映させるため、対象インスタンスを再起動します。

方法は2通り。

WebAdminツールから、インスタンスの「停止」「起動」を行う方法。

410_12.png

410_13.png

410_14.png

410_15.png


もしくは、サービスの画面から「symfo_1200_SE_64_Administrator_inst1」というような
サービスを再起動する。

410_16.png


これで外部から接続できるようになるはずです。

テーマ:データベース - ジャンル:コンピュータ

  1. 2014/04/20(日) 22:09:53|
  2. 運用
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

Windows Server 2012 R2にSymfoware V12(Openインターフェース)をインストールする

久しぶりにSymfowareネタ。
Symfoware V12から、PostgreSQL互換のインターフェースが実装されたそうです。
早速試してみようと思います。


NativeとOpen



どうも、Symfoware製品全部が対応しているわけではなく、製品体系が
・Native(従来通りの製品仕様)
・Open(PostgreSQL互換インターフェースを持つ製品仕様)
の2つに別れたようで、インストーラーも別になっているようです。

Openインターフェースのインストーラーを実行しました。




インストール



インストーラーを起動すると、こんな画面が表示されます。
デザインとイメージカラーが一新されてますね。

「インストール」をクリックします。

409_01.png


インストールする製品の選択です。
とりあえず、全部チェックをつけた状態で進みました。

409_02.png


初期ンストールの確認では、どんなオプションが指定できるか見たかったので、
「設定を変更する」を選びました。

409_03.png


サーバー製品本体のインストール場所です。
デフォルトのまま進みました。

409_04.png


WebAdminのセットアップ指定です。
デフォルトの「実行する」が選択された状態にしました。
ポート番号は「26515」です。
後で必要になるので覚えておきます。

409_05.png


クライアントのインストール先の指定です。
64bit、32bit共にデフォルトのまま進みました。

409_06.png

409_07.png


インストール内容の確認です。
ここで「次へ」をクリックするとインストールが開始されます。

409_08.png


インストール完了です。特に再起動は求められませんでした。

409_09.png





Internet Explorerセキュリティ強化の構成



これからIEを使用して初期構成を行います。
警告を抑止するため、セキュリティ強化の構成をオフに変更しました。

サーバーマネージャーから「IEセキュリティ強化の構成」のリンクをクリック。

409_10.png


「オフ」に変更してOKをクリックします。

409_11.png





WebAdminツールの実行



WebAdminツールを実行して、データベースの初期構成を行います。
ブラウザで、「http://localhost:26515/」を表示します。
「26515」は、インストール時に指定したポート番号です。

こんな画面が表示されるので、「Symfoware WebAdmin」のリンクをクリック。

409_12.png


ログイン画面が表示されます。
OSのユーザーID(例えばAdministrator)とそのパスワードを入力してログイン。

409_13.png


ログインに成功すると、インスタンスの一覧画面に遷移します。
左側の「新規作成」ボタンをクリックします。

409_14.png


インスタンスの作成ダイアログが表示されます。
すべてデフォルトで設定されている値のまま、右下の「作成」をクリックしました。

インスタンス名:inst1
データ格納先:C:\Administrator\inst1\data
バックアップデータ格納先:C:\Administrator\inst1\backup
ポート番号:26500

409_15.png


データとバックアップのパスが同じディスクという警告が表示されました。
今回、ディスクは1本だけなのでそのままOKをクリック。

409_16.png


インスタンスの作成完了です。
「終了」でダイアログを閉じます。

409_17.png


インスタンスの作成が完了すると、こんな感じで元気に動いている図が表示されます。

409_18.png



データ格納先である「C:\Administrator\inst1\data」を表示てみると
見慣れたファイル名が。
どうやら、ファイル構成はPostgreSQLそのもののようです。

409_19.png







データベースの作成



インスタンスを作成したので、そこにデータベースを作ってみます。
サーバーソフトインストール時に「pgAdmin III」がインストールされますので、
これを使用してデータベースを作成します。

アプリ画面を表示して、pgAdmin IIIを起動します。
ぞうのマークが目印です。

409_20.png


サーバーに接続の追加ボタンをクリック。

409_21.png


名前:任意
ホスト:localhost
Port:26500(WebAdminツールでインスタンスを生成するときに指定した値)

ユーザー名:Administrator
パスワード:OSのAdministratorパスワード

を指定します。

409_22.png


接続出来ました。
[データベース] - [postgres]をクリックします。

409_23.png


こんな警告が表示されます。
とりあえずOKで良いようです。

409_24.png


ツリーの「データベース」を右クリックして「新しいデータベース」を選択。

409_25.png


「sample」というデータベースを作成してみます。
名前を入力したらOKをクリック。

409_26.png


あっさり作成できました。
メニューの「SQL」と記載してあるボタンをクリック。
適当にテーブル作成のクエリを実行しました。


create table test (
id int,
name varchar(100)
)




ちゃんと作成できたようでs.

409_27.png


データの登録、検索もOK。

409_28.png


作成したテーブルの実態は
[sample] - [スキーマ] - [public] - [テーブル]にありました。

409_29.png


今度は外部からアクセスできるようにしてみます。

テーマ:データベース - ジャンル:コンピュータ

  1. 2014/04/20(日) 21:19:06|
  2. 運用
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

Symfoware に接続するユーザーを追加する(CREATE USER)

久しぶりにSymfowareネタ。

普段は、Symfoware Serverへの接続は、
ユーザー名:Administrator
パスワード:サーバーのローカルAdministratorのパスワード
で接続してました。
(ほんとは良くないんでしょうが)


ふと、ユーザーの追加ってどうやるんだろ?と思ったので調べてみます。
バージョンはSymfoware Server V11、OSはWindows Server 2012です。



追加する方法2種類



ユーザーの追加は、2つの方法があります。

・OSのユーザーをSymfowareのユーザーとして認識させる。
この場合、パスワードはOSのユーザーのものを使用することになります。

・Symfoware独自のユーザーを作成する
この場合はユーザーの作成時にパスワードも指定します。

両方試してみます。





OSのユーザー使用



「symfotest」というユーザーを追加しました。

271_01.png

このユーザーがSymfowareに接続できるようにしてみます。


ユーザーを追加するには、


CREATE USER symfotest WITH OS FOR USER;



と記載したファイルを用意し、rdbddlexを実行すれば良いようです。


grant.txtというテキストに上記の内容を書き込み、実行してみるとエラーになります。


c:¥work>rdbddlex grant.txt
qdg12226e:ユーザ定義文の実行で重症エラーを検出しました 詳細メッセージ='JYP4076E
利用者制御機能の使用が選択されていないため指定された文を実行することはできません
.' エラーが発生した文の先頭位置=3
qdg02201u:rdbddlexが異常終了しました 復帰コード 01




「利用者制御機能の使用が選択されていない」っていう意味がわからなかったのですが、
ユーザーを作成する前に、


SET SYSTEM PARAMETER USER_CONTROL = YES;



を実行して、ユーザー管理機能を使用するように変更しないと行けない模様。


grant.txtに以下の内容を書きこんで、rdbddlexを実行します。


--ユーザー管理機能使用
SET SYSTEM PARAMETER USER_CONTROL = YES;

--OSのユーザー「symfotest」をユーザーとして追加する
CREATE USER symfotest WITH OS FOR USER;





実行すると、ちゃんとユーザーが作成されました。


C:¥work>rdbddlex grant.txt
qdg12228i:ユーザ定義文の実行が正常終了しました
qdg02200i:rdbddlexが正常終了しました 復帰コード 00





さあ、これでデータベースに接続できるかというと、接続は出来るのですが
スキーマやテーブルへのアクセス権が無いので、何もできません。


Symfoware V11へデータベースの作成と黒猫 SQL Studio Nextからの接続
こちらで作成した、SC_POSTスキーマと、POST_CODEテーブルにアクセス権を付与します。


-- スキーマへのアクセス権付与
GRANT ALL PRIVILEGES ON SCHEMA SC_POST TO PUBLIC;

-- テーブルへのアクセス権付与
GRANT ALL PRIVILEGES ON TABLE SC_POST.POST_CODE TO PUBLIC;





rdbddlexでの実行は、-d [データベース名]のオプションをつけて実行します。


C:¥work>rdbddlex -d SAMPLE grant.txt





これで、「symfotest」というユーザー(パスワードはOSと同一)で接続できること、
テーブルのselect、insertができることが確認出来ました。








Symfoware独自ユーザー使用



Symfowareの独自ユーザーを作成するには、こんな感じ。


CREATE USER symfodb WITH DBMS PASSWORD 'p@ssw0rd' FOR USER;



パスワードの複雑さの要求は、割と厳しめでです。


・パスワードは、以下の文字で構成される文字列定数で指定します。
英字
数字
特殊文字
拡張文字
・パスワードは、最低長以上8バイト以下の長さで指定します。
 最低長はユーザパラメタ“MIN_PASSWORD_SIZE”で変更することができます。
・パスワードは、文字列中に2つ以上の英字を含まなければなりません。
 また、1つ以上の数字、特殊文字または拡張文字を含まなければなりません。
・パスワードは利用者名と比較して、同じもの、ずらしたものまたは反転したものであってはなりません。




簡単なパスワードを設定しようとしたら、こんなエラーになりました。


C:¥work>rdbddlex grant.txt
qdg12226e:ユーザ定義文の実行で重症エラーを検出しました 詳細メッセージ='JYP4062E
パスワードの指定に誤りがあります.' エラーが発生した文の先頭位置=12
qdg02201u:rdbddlexが異常終了しました 復帰コード 01




OSのユーザー追加と同じく、SET SYSTEM PARAMETERの設定が必要です。


SET SYSTEM PARAMETER USER_CONTROL = YES;

CREATE USER symfodb WITH DBMS PASSWORD 'p@ssw0rd' FOR USER;




rdbddlexで保存した内容を実行します。


C:¥work>rdbddlex grant.txt
qdg12228i:ユーザ定義文の実行が正常終了しました
qdg02200i:rdbddlexが正常終了しました 復帰コード 00




これで、ユーザー「symfodb」、パスワード「p@ssw0rd」で接続出来ました。

※OSのユーザーを追加した時と同じく、スキーマやテーブルへのアクセス権の設定も必要です。







Symfowareの起動ユーザー



OSに作成したsymfotestでログインして、rdbstartコマンドを実行するとエラーになります。


C:¥work>rdbstart
qdg02600i:RDBIIの起動を開始します
qdg12911u:本コマンドはアドミニストレータ権限のユーザのみ実行可能です




symfotestをAdministratorsグループに追加すればいいのかな?と思ったのですがダメでした。

どうしても起動したい場合には、コマンドプロンプトを管理者として実行します。

271_02.png

271_03.png


無事、rdbstartやrdbstopが実行出来ました。

271_04.png


テーマ:サーバ - ジャンル:コンピュータ

  1. 2014/01/23(木) 23:04:32|
  2. 運用
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

C#で.NET Data Providerを使用し、Symfowareへ接続する

随分前に、Visual C# 2008 Express Editionを使用して、C#からSymfowareへ
データの登録や検索を行ってみました。

Visual C# 2008 Express Edition から .NET Data Providerを使用して接続する
※この時は、Symfoware V10


Symfoware V11をインストールしたので、復習してみます。


なお、事前準備は、
Windows Server 2012にSymfoware V11をインストールする
Symfoware V11 Client(ODBCドライバ等)のインストール
Windows Server 2012でSymfowareの通信ポートを解放する

登録や検索に使用するテーブルは、
Symfoware V11へデータベースの作成と黒猫 SQL Studio Nextからの接続



csc.exeでC#プログラムのコンパイル



開発環境を入れるのが面倒だったので、.NET Frameworkに同梱されている
csc.exeを利用してC#のプログラムをコンパイルしてみます。

csc.exeを使用してのプログラム解説はこちら。
C# バッチファイルでソースをコンパイルする





接続のサンプル



接続文字列に使用するキーワードは以下のとおり。


Data Source = (データベースサーバー名)
Port = (ポート)
User ID = (ユーザーID)
Password = (パスワード)
Initial Catalog = (データベース名)



上記をセミコロンで区切って結合します。


サーバーに接続するサンプルは、こんな感じになります。


  1. using System;
  2. using System.Text;
  3. using Fujitsu.Symfoware.Client;
  4. public class Sample {
  5.     
  6.     [STAThread]
  7.     public static void Main(string[] args) {
  8.         
  9.         StringBuilder sb = new StringBuilder();
  10.         //サーバー
  11.         sb.Append("DATA SOURCE=192.168.1.6;");
  12.         //ポート
  13.         sb.Append("PORT=2050;");
  14.         //データベース名
  15.         sb.Append("INITIAL CATALOG=SAMPLE;");
  16.         //接続ユーザー名
  17.         sb.Append("USER ID=Administrator;");
  18.         //パスワード
  19.         sb.Append("PASSWORD=P@ssw0rd");
  20.         
  21.         using (SymfowareConnection con = new SymfowareConnection(sb.ToString())) {
  22.             // コネクションオープン
  23.             con.Open();
  24.             
  25.             Console.WriteLine("接続成功");
  26.         }
  27.         
  28.     }
  29. }




このソースをビルドするためのバッチファイルですが、まず失敗例。


@echo off
set csc=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
set opt=/nologo
%csc% %opt% Sample.cs



実行すると、こんなエラーが表示されると思います。


error CS0246: 型または名前空間名 'Fujitsu'が見つかりませんでした。
usingディレクティブまたはアセンブリ参照が不足しています。




.NET Framework標準でないライブラリを使用する場合は、ビルド時にそのdllの
場所を明示してやる必要があるみたいです。

Fujitsu.Symfoware.Client名前空間の解決に必要なdllは
Symfowareクライアントをインストールしたパス、デフォルトで「C:\SFWCLNT\」の
SNDP\BIN\4.0\Fujitsu.Symfoware.dllになります。

私はインストールパスを変えたので、
「C:\Symfoware\SFWCLNT\SNDP\BIN\4.0\Fujitsu.Symfoware.dll」
になりますが、このパスを/r:オプションで指定してやります。


@echo off
set csc=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
set opt=/nologo /r:C:\Symfoware\SFWCLNT\SNDP\BIN\4.0\Fujitsu.Symfoware.dll
%csc% %opt% Sample.cs




これでビルドが通るようになったと思います。
実行してみると、データベースへの接続が確認できるかと思います。

167_01.png







登録のサンプル



データ登録のサンプルはこんな感じ。


  1. using System;
  2. using System.Text;
  3. using Fujitsu.Symfoware.Client;
  4. public class Sample {
  5.     
  6.     [STAThread]
  7.     public static void Main(string[] args) {
  8.         
  9.         StringBuilder sb = new StringBuilder();
  10.         //サーバー
  11.         sb.Append("DATA SOURCE=192.168.1.6;");
  12.         //ポート
  13.         sb.Append("PORT=2050;");
  14.         //データベース名
  15.         sb.Append("INITIAL CATALOG=SAMPLE;");
  16.         //接続ユーザー名
  17.         sb.Append("USER ID=Administrator;");
  18.         //パスワード
  19.         sb.Append("PASSWORD=P@ssw0rd");
  20.         
  21.         using (SymfowareConnection con = new SymfowareConnection(sb.ToString()))
  22.         using (SymfowareCommand cmd = new SymfowareCommand()) {
  23.             // コネクションオープン
  24.             con.Open();
  25.             
  26.             Console.WriteLine("接続成功");
  27.             
  28.             StringBuilder query = new StringBuilder();
  29.             query.Append("INSERT INTO SC_POST.POST_CODE (");
  30.             query.Append(" 郵便番号, 住所");
  31.             query.Append(" ) VALUES (");
  32.             query.Append(" '1234567','テストデータ'");
  33.             query.Append(")");
  34.             
  35.             cmd.Connection = con;
  36.             cmd.CommandText = query.ToString();
  37.             
  38.             //インサート文実行
  39.             cmd.ExecuteNonQuery();
  40.         }
  41.         
  42.     }
  43. }







検索のサンプル



先ほど登録したデータを検索してみます。


  1. using System;
  2. using System.Text;
  3. using Fujitsu.Symfoware.Client;
  4. public class Sample {
  5.     
  6.     [STAThread]
  7.     public static void Main(string[] args) {
  8.         
  9.         StringBuilder sb = new StringBuilder();
  10.         //サーバー
  11.         sb.Append("DATA SOURCE=192.168.1.6;");
  12.         //ポート
  13.         sb.Append("PORT=2050;");
  14.         //データベース名
  15.         sb.Append("INITIAL CATALOG=SAMPLE;");
  16.         //接続ユーザー名
  17.         sb.Append("USER ID=Administrator;");
  18.         //パスワード
  19.         sb.Append("PASSWORD=P@ssw0rd");
  20.         
  21.         using (SymfowareConnection con = new SymfowareConnection(sb.ToString()))
  22.         using (SymfowareCommand cmd = new SymfowareCommand()) {
  23.             // コネクションオープン
  24.             con.Open();
  25.             
  26.             Console.WriteLine("接続成功");
  27.             
  28.             cmd.Connection = con;
  29.             cmd.CommandText = "SELECT * FROM SC_POST.POST_CODE";
  30.             
  31.             //SELECT 実行
  32.             using (SymfowareDataReader dr = cmd.ExecuteReader()) {
  33.                 
  34.                 while(dr.Read()) {
  35.                     Console.WriteLine("{0}, {1}", dr["郵便番号"], dr["住所"]);
  36.                 }
  37.                 
  38.             }
  39.         }
  40.         
  41.     }
  42. }




実行すると、ちゃんとデータが検索出来ました。

167_02.png






パラメーターを指定した検索



こんな感じで、パラメーター置換によるSQL文の実行が可能でした。


  1. using System;
  2. using System.Text;
  3. using System.Data;
  4. using Fujitsu.Symfoware.Client;
  5. public class Sample {
  6.     
  7.     [STAThread]
  8.     public static void Main(string[] args) {
  9.         
  10.         StringBuilder sb = new StringBuilder();
  11.         //サーバー
  12.         sb.Append("DATA SOURCE=192.168.1.6;");
  13.         //ポート
  14.         sb.Append("PORT=2050;");
  15.         //データベース名
  16.         sb.Append("INITIAL CATALOG=SAMPLE;");
  17.         //接続ユーザー名
  18.         sb.Append("USER ID=Administrator;");
  19.         //パスワード
  20.         sb.Append("PASSWORD=P@ssw0rd");
  21.         
  22.         using (SymfowareConnection con = new SymfowareConnection(sb.ToString()))
  23.         using (SymfowareCommand cmd = new SymfowareCommand()) {
  24.             // コネクションオープン
  25.             con.Open();
  26.             
  27.             Console.WriteLine("接続成功");
  28.             
  29.             cmd.Connection = con;
  30.             cmd.CommandText = "SELECT * FROM SC_POST.POST_CODE WHERE 郵便番号 = ?";
  31.             
  32.             //パラメーターのデータ型指定
  33.             cmd.Parameters.Add("郵便番号", SymfowareDbType.Char);
  34.             
  35.             //引数を検索条件に指定
  36.             cmd.Parameters["郵便番号"].Value = args[0];
  37.             
  38.             //SELECT 実行
  39.             using (SymfowareDataReader dr = cmd.ExecuteReader()) {
  40.                 
  41.                 while(dr.Read()) {
  42.                     Console.WriteLine("{0}, {1}", dr["郵便番号"], dr["住所"]);
  43.                 }
  44.                 
  45.             }
  46.         }
  47.         
  48.     }
  49. }



167_03.png




Symfoware V11から、パラメーターに名称が設定できるようになったみたいです。


  1. using System;
  2. using System.Text;
  3. using System.Data;
  4. using Fujitsu.Symfoware.Client;
  5. public class Sample {
  6.     
  7.     [STAThread]
  8.     public static void Main(string[] args) {
  9.         
  10.         StringBuilder sb = new StringBuilder();
  11.         //サーバー
  12.         sb.Append("DATA SOURCE=192.168.1.6;");
  13.         //ポート
  14.         sb.Append("PORT=2050;");
  15.         //データベース名
  16.         sb.Append("INITIAL CATALOG=SAMPLE;");
  17.         //接続ユーザー名
  18.         sb.Append("USER ID=Administrator;");
  19.         //パスワード
  20.         sb.Append("PASSWORD=P@ssw0rd");
  21.         
  22.         using (SymfowareConnection con = new SymfowareConnection(sb.ToString()))
  23.         using (SymfowareCommand cmd = new SymfowareCommand()) {
  24.             // コネクションオープン
  25.             con.Open();
  26.             
  27.             Console.WriteLine("接続成功");
  28.             
  29.             cmd.Connection = con;
  30.             cmd.CommandText = "SELECT * FROM SC_POST.POST_CODE WHERE 郵便番号 = :任意の名称";
  31.             
  32.             //パラメーターのデータ型指定
  33.             cmd.Parameters.Add("任意の名称", SymfowareDbType.Char);
  34.             
  35.             //引数を検索条件に指定
  36.             cmd.Parameters["任意の名称"].Value = args[0];
  37.             
  38.             //SELECT 実行
  39.             using (SymfowareDataReader dr = cmd.ExecuteReader()) {
  40.                 
  41.                 while(dr.Read()) {
  42.                     Console.WriteLine("{0}, {1}", dr["郵便番号"], dr["住所"]);
  43.                 }
  44.                 
  45.             }
  46.         }
  47.         
  48.     }
  49. }




SQL Serverと異なるのは、
・名称は「@」ではなく「:」をつけて指定すること。
・「Parameters.Add」するときに指定する名称には、「:」は不要
・データ型を指定するときは、「System.Data.SqlDbType」ではなく「SymfowareParameter.SymfowareDbType」
を使用すること。


SymfowareParameter.SymfowareDbTypeで使用できるのは以下のとおり。


BLOB
Char
VarChar
NChar
NCharVarying
Date
Time
Timestamp
Numeric
Decimal
Real
DoublePrecision
SmallInt
Int
IntervalYear
IntervalMonth
IntervalYearToMonth
IntervalDay
IntervalDayToHour
IntervalDayToMinute
IntervalDayToSecond
IntervalHour
IntervalHourToMinute
IntervalHourToSecond
IntervalMinute
IntervalMinuteToSecond
IntervalSecond


テーマ:データベース - ジャンル:コンピュータ

  1. 2013/01/08(火) 22:32:20|
  2. 運用
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集

Windows Server 2012でSymfowareの通信ポートを解放する

Windows Server 2012にSymfoawre V11をインストールしてみました。

Windows Server 2012にSymfoware V11をインストールする


外部から接続できるよう、Windows ファイアウォールにルールを追加し、
Symfowareのポートを開けてみます。


通信ポートが開いていない時のエラー



まず、通信ポートを開いていない状態のエラーを見てみます。
こんなODBC接続を作成。

166_01.png


接続しようとすると、以下のエラーが発生します。


Microsoft データリンクエラー

プロバイダーの初期化中にエラーが発生したため、接続のテストに失敗しました。
[SymfoWARE ODBC Driver] JYP101E サーバ接続要求が拒否されました。



166_02.png




Windows Server 2012でのポート開放



解放するポート番号ですが、「SYSSETUP.EXE」を実行した時に、
「リモートアクセスで使用するポート番号」に入力したしたポート番号です。

166_03.png


サーバーマネージャーの[ツール] - [セキュリティが強化されたWindowsファイアウォール]を選択。

166_04.png


「セキュリティが強化されたWindowsファイアウォール」画面が起動します。
左側から「受信の規則」を選択し、右側の「新しい規則」をクリック。

166_05.png


「新規の受信の規則ウィザード」が始まります。
「ポート」を選んで次へ。

166_06.png


種類は「TCP」
「特定のローカルポート」を選択し、今回設定している「2050」を入力します。

166_07.png


「接続を許可する」を選択して次へ。

166_08.png


とりあえずドメイン、パブリック、プライベート全てにチェックがついた状態で次へ。

166_09.png


適当に規則へ名前を付けます。

166_10.png


作成したルールが追加されました。
これで別の端末から接続できるようになるはずです。

166_11.png

テーマ:データベース - ジャンル:コンピュータ

  1. 2013/01/07(月) 21:35:33|
  2. 運用
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
次のページ