• 締切済み

SQLServer6.5 sp_whoでプロセスがたくさん残る。

SQLServer6.5、VC6で在庫管理プログラムを作っています。 API関数のSQLExecDirectを使ってデータを取得しているのですが、クエリーのsp_whoを流すとプロセスが残ってしまっています。 調べた結果、 データベースに接続→データを取得→データベースを切断→再びデータベース接続、 とするとプロセスが増えていくようです。 レコードセットクラスを使えば問題ないようですが、なんとか、このままの状態で正常に接続しているプロセスだけにしたいと思っています。 解決策をご存知の方いらっしゃったらお願いします。

みんなの回答

  • m_nkgw
  • ベストアンサー率47% (42/89)
回答No.1

専門家ではないので、的を得ているかどうかわからないのですが、参考URLが何がしかの参考になりますように。

参考URL:
http://www.microsoft.com/japan/TechNet/sql/Technote/sqliopt.asp
mikeri
質問者

お礼

ありがとうございました。参考にしてみます。

関連するQ&A

  • SQLServer2000

    SQLServerにあるデータを他のプログラムから取得できません。ノーツ⇒ODBC⇒SQLServerのように設定しているのですが値の取得で失敗しているようです。クエリーは聞いているようです。 例えばノーツ⇒ODBC⇒アクセスではOKですが(クエリーされる。)、ノーツ⇒ODBC⇒SQLServerではダメです。エンタープライズマネジャーから同じクエリーを実行すると成功します。権限の問題なのか仕様の問題かわかりません。どなたか教えてください。 お願いします。

  • SQLServer2008

    SQLServerは始めてです。 SQLServer2008 Management Studio Expressを自分のPCにインストールしました。やりたいことは、自分のPCでサーバー、データベースを作ってVB6でデータを取得したりするアプリを入れて動かせる環境に したいのですが。(他のPCにサーバーを設定せず)インストールした後、どうやってサーバー登録するのか本を見てもよく分かりません。複雑なSQLを作成しなくてもSQLServerでは簡単にできるような事を本に書いてあるみたいですが。 SQLServer Management Studio を起動するとサーバーへの接続画面が 表示されます。でもまだサーバーの登録がされていないので、エラーになってしまいます。左側のオブジェクトエクスプローラは空っぽです。この後何をすればいいのか分かりません。 それとも何か足りないのでしょうか?サーバーの登録、データベースの作成方法を教えてください。そしてサーバーへの接続画面で入力して エラーなくサーバーに接続し、データベースに接続できるように教えてください。

  • OracleからSQLServer参照時の不具合

    DBLINKを使用して、Oracle 10gからSQLServer2005に接続してSQLServer2005のテーブルを参照しています。テーブルデータを参照することはできるのですが、データベースとのセッションを切断してもサーバ上にhsodbcプロセスが解放されずに残る現象が発生しています。 当初は、ストアドプロシージャの不具合と考えていましたが、SQLPLUSでデータを参照した後、SQLPLUSを終了させても プロセスマネージャ上でhsodbcが解放されずに残っていたため、 APの問題ではないと考えています。 DBLINK、Oracleの設定で不備があるような気がするのですが対応策はあるのでしょうか。 お手数ですが回答をお願いします。

  • プロセスIDの取得の方法。

    使用言語:C OS:NT4.0WS プロセスビューアで表示されるような、プロセスIDやプロセス名を 取得する方法を探しています。 Cの標準関数で無ければAPI関数での方法でもどちらでも構わないので よろしくお願いします。

  • ACCESSからSQLServerのデータを取得したい

    SQLServerが利用できない環境にデータを持っていくため、以下のようなシステムを考えております。(テーブルのリンクは不可・手動でのデータのエクスポートは不可) 1.ACCESSのフォームに「データベース名」「テーブル名」を入力し、実行ボタン押下 2.ADOでSQLServerに接続 3.指定のテーブルと同じ構造のテーブルをACCESSに作成 4.SQLServerのデータをACCESSにINSERT ここで質問なのですが、ACCESSは自分のデータベースとSQLServerのデータベースに同時に接続できますか? 同時接続した場合のACCESS/SQLServerの書き分けはどのようになるのでしょうか。

  • SQLServer2008StandardEditionを利用していま

    SQLServer2008StandardEditionを利用しています。 データバックアップリストアについて教えてください。 TableAに商品管理情報を日次で追加しています。 TableAを含むデータベースを深夜に日次でフルバックアップを取得しています。 ある日、管理者が間違えてTableAのレコードのうち1行を削除してしまいました。 この時に、現状では、TableAのレコードを復元するには以下の方法を利用しています。 1.データベースフルバックアップデータを別名でリストアする 2.リストアデータベースから削除したTableAのレコードを手動でコピーする。 3.リストアしたデータベースを削除する。 もう少し簡単に削除した行だけをリストアするような方法は無いでしょうか?

  • SQLServerのデータをCSVファイルに出力したい

    VB6.0(SP5) Windows2000(SP3) SQLServer2000(SP3) で開発しています。 VBで、SQLServerのデータをCSV形式で出力したいのですが、どのようにすればいいか教えてください。 一旦データを取得して、それを1行ずつ書いていく。 というやり方ならイメージできるのですが、もっと簡単というか、処理の早い方法があるのかなと思いまして(SQLServerの機能で何かあるかなとか)、教えて頂きたいのです。 よろしくお願いします。

  • .NETでプロセスの一覧を取得

    現在実行されてるプロセスの一覧を取得したいのですがどのようにすればよいでしょうか? また、ほかのWin32APIの機能を.NETで利用するための関数をまとめてあるようなものは無いでしょうか?

  • windowsのプロセスIDやスレッドIDの使い道

    win32APIで取得したプロセスIDやスレッドIDの使い道について教えてください。 CreateProcessなどで取得したプロセスのハンドルやスレッドのハンドルはwin32APIで使う場面がありますが、プロセスIDやスレッドIDの使い道がわかりません。 どのような場面でプロセスIDやスレッドIDを使うのでしょうか?具体的にこんな事をするときに使うよなどあれば教えていただきたいです。 プロセスIDやスレッドIDを引数にとるAPI関数などがあれば教えていただきたいです。

  • SQLServer7.0のエラーについて

    SQLServer7.0のSP4をあてたところ、サービスが 動かなくなってしまいました。 エラーログは下記の内容です。 "サーバー コマンド (プロセス ID #9) が原因でクエリの内部並列実行がデッドロックしました。クエリ ヒント オプション (maxdop 1) を使用して、クエリ内部並列実行を指定しないでクエリを再実行してください。" このエラーを回避する方法をご存知ではないでしょうか? SPをアンインストールすることはできないでしょうか? また、調べていたところOPTION句?を使用してMAXDOPを 1に設定するという方法がありました。 この方法をSQL文ではなく、ツール?から設定する方法をご存知でしたら教えてください。 知識がないためうまく説明できずすみません。 非常に困っております。 どなたかご存知の方おみえになりましたら教えてください。