Windows から Symfoware サーバに接続するにあたり、Symfoware クライアントとして、Symfoware .NET Data Provider を使っている。
サーバー側が複数あり、ほとんどが接続出来ない状態だと、接続出来るところが遅延する現象が発生した。
テストプロを作って調査したところ、接続待ちの処理があった場合、別スレッドで接続出来るところへ接続を試みると、待たされているようだ。マルチスレッドに対応していないのか?
試しにODBCで接続してみると、全く遅延せずに接続出来てしまった。
完全に SNDP の不具合だな。
2013年7月1日月曜日
2013年1月14日月曜日
Symfoware ODBCドライバ
32bit しかないみたい。
つまり、アプリケーションを 32bit でビルドしなければいけない。
せっかく64bit マシンが用意されていても、WOWで動かさなければいけない。
64bit に対応されんかのぉ
つまり、アプリケーションを 32bit でビルドしなければいけない。
せっかく64bit マシンが用意されていても、WOWで動かさなければいけない。
64bit に対応されんかのぉ
2012年8月7日火曜日
[Symfoware]データ取得
インストールも無事?終了したので、早速 .NET Data Provider を参照設定に追加して、アクセスを試みる。

あれ、でてこないよ〜。
完全にはサポートされないのね。
しょーがない、面倒だけど書きますか。
まずは接続文字列。
<ConnectionString>DATA SOURCE=IPアドレス;PORT=2050;INITIAL CATALOG=DB名;USER ID=ユーザ名;PASSWORD=パスワード;CONNECT TIMEOUT=2;SCHEMA=スキーマ名;POOLING=TRUE;TUNEPARAM='WAIT_TIME=(15)'</ConnectionString>
NO LOCK しないとデフォルトが FREE LOCK なんでデッドロックする可能性があるらしい。
いろいろと癖があるのねぇ。
あれ、でてこないよ〜。
完全にはサポートされないのね。
しょーがない、面倒だけど書きますか。
まずは接続文字列。
<ConnectionString>DATA SOURCE=IPアドレス;PORT=2050;INITIAL CATALOG=DB名;USER ID=ユーザ名;PASSWORD=パスワード;CONNECT TIMEOUT=2;SCHEMA=スキーマ名;POOLING=TRUE;TUNEPARAM='WAIT_TIME=(15)'</ConnectionString>
ポートはだいたい2050。
コードはこんな感じ。
string sql = "select * hogehoge WITH OPTION LOCK_MODE(NO LOCK)";
DataTable table = new DataTable();
using (var connection = new SymfowareConnection(ConnectionString))
{
using (var adapter = new SymfowareDataAdapter(sql, connection))
{
adapter.Fill(table);
}
}
NO LOCK しないとデフォルトが FREE LOCK なんでデッドロックする可能性があるらしい。
いろいろと癖があるのねぇ。
[Symfoware].NET Data Provider インストール
必ず躓くので書いておくが、なんとか対処してほしい。
まずは Setup.exe を起動
インストールボタンクリック
次へ〜次へ〜
はい、途中でエラーメッセージ。ほぼ100%。
OK!
ODBC とか JDBC しか使わんよって言う人はここで再起動を選択しておしまい。
.NET Data Provider 使いたいっていうひとは再起動せずに完了。
さて、.NET Data Provider 使うなら下記メッセージに従ってみますか。
GACへSymfoware .NET Data Providerの下記アセンブリのインストールに失敗しました。
C:\SFWCLNT\SNDP\BIN\Fujitsu.Symfoware.dll
C:\SFWCLNT\SNDP\BIN\ja\Fujitsu.Symfoware.resources.dll
C:\SFWCLNT\SNDP\BIN\PublisherPolicy\policy.1.80.Fujitsu.Symfoware.dll
C:\SFWCLNT\SNDP\BIN\PublisherPolicy\policy.1.90.Fujitsu.Symfoware.dll
Symfoware Server クライアント機能のインストール終了後、手動でGACへインストールしてください。
インストール方法:エクスプローラでOKのインストール先のフォルダ\Assemblyディレクトリを表示し、
上記のアセンブリを、Assemblyディレクトリへドラッグ&ドロップします。
Drag & Drop !!!
ッビ!!!
ぉおぅ。
アクセスが拒否されました。。。
Window 7 ともなると色々ありますなぁ。
エクスプローラを管理者権限で実行する必要があるのねん。
ほいじゃぁ、タスクマネージャーを起動。
explorer.exe を選んで「プロセスの終了」を選択。
アプリケーションタブを選択。
新しいタスクボタンクリック!
参照!
explorer.exe を右クリックして管理者として実行!
これで assembly に登録出来る。
出来たら再起動でおしまい。
・・・ほぼ手動やん。
登録:
投稿 (Atom)