MagicからMDBファイルを読みSQL Serverへ書き込み
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
nkmt
投稿数: 1668
MagicからACCESS MDBのデータを読みSQL Serverへ登録リンク
などを行う処理で、エラーが発生する事がありmgerro.logに
サーバに接続できません.最大接続数に達しました
が記録されている事がありました。
沢山のファイルを変換するのは止めて、小刻みに処理を行うなどしました。
DBMS → ODBC → 特性 → 最大接続数 未設定の所を 20 にするなどの対策でいいものでしょうか?
xpa3.1開発版です。
などを行う処理で、エラーが発生する事がありmgerro.logに
サーバに接続できません.最大接続数に達しました
が記録されている事がありました。
沢山のファイルを変換するのは止めて、小刻みに処理を行うなどしました。
DBMS → ODBC → 特性 → 最大接続数 未設定の所を 20 にするなどの対策でいいものでしょうか?
xpa3.1開発版です。
投票数:0
平均点:0.00
Re: MagicからMDBファイルを読みSQL Serverへ書き込み
msg# 1.1
ISHIJIMA
居住地: 静岡県
投稿数: 1827
最大接続数を変更する場合は下記のような事で行ったことはあります。
デフォルトはゼロでこの場合3接続です。
基本的には実行環境の設定だと思っています。
サーバ環境(Magic xpa Enterprise Server、Magic xpa RIA Server)での推奨値
各インスタンス毎で使用する最大スレッド数又はユーザ数の3倍を設定してください。
あと下記の内容のヘルプがあります。
考えられる原因:
Magic xpaによって許可された接続数が少なすぎる。
トランザクションの外で更新-トランザクション内での更新は、常に1つのコネクションを消費します。トランザクションを使用しないように定義されている場合-各更新は、新規トランザクションを作成します。
カーソルを使用しない動作−[データベース特性]で[カーソル]特性が「No」に定義されている。
データベース接続がTCP/IPのみに設定されている。
プログラムの並行実行−以前のバージョンからアプリケーションを移行する際、並行実行を有効にすることでより多くの接続数が使用されることになったのかもしれません。
ダイレクトSQLプログラム−これらのプログラムは、独自の接続数が必要となります。
解決方法:
接続数として明示的に高い値(例えば9999)を設定してください。デフォルト値は0です。この場合、接続数3を意味し、無限ではありません。
アプリケーションをチェックして、すべての更新がトランザクション内から行われていることを確認してください。
可能であれば、カーソル使用で実行させるか、デフォルト設定(この場合、オンラインプログラムではカーソルの使用を意味しています)にしてください。
名前付きパイプをクライアントの接続設定に追加してください。
デフォルトはゼロでこの場合3接続です。
基本的には実行環境の設定だと思っています。
サーバ環境(Magic xpa Enterprise Server、Magic xpa RIA Server)での推奨値
各インスタンス毎で使用する最大スレッド数又はユーザ数の3倍を設定してください。
あと下記の内容のヘルプがあります。
考えられる原因:
Magic xpaによって許可された接続数が少なすぎる。
トランザクションの外で更新-トランザクション内での更新は、常に1つのコネクションを消費します。トランザクションを使用しないように定義されている場合-各更新は、新規トランザクションを作成します。
カーソルを使用しない動作−[データベース特性]で[カーソル]特性が「No」に定義されている。
データベース接続がTCP/IPのみに設定されている。
プログラムの並行実行−以前のバージョンからアプリケーションを移行する際、並行実行を有効にすることでより多くの接続数が使用されることになったのかもしれません。
ダイレクトSQLプログラム−これらのプログラムは、独自の接続数が必要となります。
解決方法:
接続数として明示的に高い値(例えば9999)を設定してください。デフォルト値は0です。この場合、接続数3を意味し、無限ではありません。
アプリケーションをチェックして、すべての更新がトランザクション内から行われていることを確認してください。
可能であれば、カーソル使用で実行させるか、デフォルト設定(この場合、オンラインプログラムではカーソルの使用を意味しています)にしてください。
名前付きパイプをクライアントの接続設定に追加してください。
投票数:0
平均点:0.00
Re: MagicからMDBファイルを読みSQL Serverへ書き込み
msg# 1.2
nkmt
投稿数: 1668
ISHIJIMA様、教えて頂きありがとうございました。
カーソル、名前付きパイプ・・・などは不勉強で意味がわからない点ですが、接続数を増やしての実行で試してみたいと思います。
カーソル、名前付きパイプ・・・などは不勉強で意味がわからない点ですが、接続数を増やしての実行で試してみたいと思います。
投票数:0
平均点:0.00
Re: Re: MagicからMDBファイルを読みSQL Serverへ書き込み
msg# 1.2.1
ISHIJIMA
居住地: 静岡県
投稿数: 1827
SQLコマンド等多様していませんか
この場合は下記の原因に該当しませんか
ダイレクトSQLプログラム−これらのプログラムは、独自の接続数が必要となります。
この場合は下記の原因に該当しませんか
ダイレクトSQLプログラム−これらのプログラムは、独自の接続数が必要となります。
投票数:0
平均点:0.00
Re: MagicからMDBファイルを読みSQL Serverへ書き込み
msg# 1.3
nkmt
投稿数: 1668
そうですね。ISHIJIMAさんのおっしゃる通りだと思います。
複数のMDBを切り替えて
SQLコマンドでSELECT DISTINCT(得意先コード・・・
FROM 売上伝票 GROPU BY 得意先コード
といった処理を実行しておりました。
その辺りでエラーが発生していたんだと思います。
接続数を変えて実験してみたいと思います...
PS.ODBCもSQL Serverも接続数を60としてみました。
何の障害も発生しませんでした。
複数のMDBを切り替えて
SQLコマンドでSELECT DISTINCT(得意先コード・・・
FROM 売上伝票 GROPU BY 得意先コード
といった処理を実行しておりました。
その辺りでエラーが発生していたんだと思います。
接続数を変えて実験してみたいと思います...
PS.ODBCもSQL Serverも接続数を60としてみました。
何の障害も発生しませんでした。
投票数:0
平均点:0.00