• 締切済み

SQLServerが存在しないか、アクセスが拒否されました

WindowsXP(SP2) SQLServer2000(SP4) VisualBasic6.0(SP6) の環境で開発しています。 数千件の画像のファイル名称(パスを含む)をテーブルに登録する操作を行うアプリがあります。この処理を実行中に、下記のエラーが発生します。 "[DBNETLIB]{ConnectionOpen(Connect()).]SQL Serverが存在しないか、アクセスが拒否されました" 1レコード目の操作から発生するのならまだしも、1000件くらいINSERT処理が進んでから発生するので、原因が分かりません。 また、エラーが発生するのは固定の環境だけで、同じアプリ、同じDB、同じ画像ファイルを使っても、別の環境では発生しません。 こんな場合、どの辺を確認したら良いかご教授下さい。 宜しくお願いします。

  • bou7
  • お礼率69% (51/73)

みんなの回答

  • tsukachan
  • ベストアンサー率42% (202/470)
回答No.1

過去にこんな例があります http://okwave.jp/qa1409350.html はずしたらスルーでお願いします。

bou7
質問者

お礼

回答、ありがとうございました。 返事が遅くなり、申し訳ありません。 確認する環境が、現象が出ている現地に行くしかなかったので、結果が分からず遅くなってしまいました。 教えてくださった例、自分も質問する前に見てはいたのですが、1レコード目から発生するのではないから、時間切れではなく環境の所為かなと思い、同じような質問をさせて頂きました。 しかし、1000件くらい処理が進んで、動作が遅くなったりして発生するのかもしれないと思い直し、CommandTimeout=0を追加しました。 結果ですが、症状は改善されませんでした。 しかし、他のPCで処理を行ったところ、正常に処理が行われたので、やはりPCの環境の問題だった様です。 それ以上のことは不明ですが、他の物件では発生しないので、調査は打ち切りました。

関連するQ&A

  • SQLServer Insertが遅い

    1台のPCで発生している問題です。SQLServerで、Select命令は即戻ってくるのですが、Insertの処理は遅く、1件に2秒くらいかかっており、理由が分からず困っています。他のPCからは、SelectもInsertも問題ありません。 <SQLServer環境> ・バージョン:SQLServer2005 Express ・OS:WindowsXP ・ポート番号:1433固定 <クライアント環境> ・OS:Windows7  ※問題の発生しているPCも、問題の発生しないPCも、共に同じOS・同様のスペックです。 <当方でテストした内容> ※全テストで、実行前にテーブルはtruncateし、トランザクションは未使用で実行しています。 (1) 1件づつ Insertし、計3000件を登録    →問題発生PCでは、1件に2秒くらいかかる。問題なしPCでは、3秒くらいで全て終了 (2) sqlBulkCopyを利用し、配列変数に格納したデータ計3000件を一括登録 (配列格納後に測定)    →問題発生PCでは、15秒で30件くらい。問題なしPCでは、3秒くらいで全て終了 (3) bcpin で、テキストファイルの計3000件を登録    →問題発生PCでは、30秒くらい経っても開始されず。問題なしPCでは、1秒くらいで全て終了 (4) Select命令発行    →問題発生PC、問題なしPC 共に、1秒くらいで全て終了。 (5) bcpout で、テーブルより計3000件をテキストファイルに落とす    →問題発生PC、問題なしPC 共に、1秒くらいで全て終了。 bcpinについては、ためしに、 -S IPアドレス\Express,1433 と、ポート番号を付けて実行もしてみましたが、結果は同じで、問題発生PCでは、開始に時間がかかり、問題なしPCでは即終了しました。 以上の結果より、問題なく動くクライアントもあるため、Server側の問題ではなく、問題発生クライアントPCの環境に問題があるのではないかと思っていますが、SQLServerの接続、Selectやbcpoutには問題なく、Insertやbcpinといったデータ挿入のみが遅いという点で、何に問題があるのか、さっぱり検討がつきません。 このような場合、どういった点を調査したらよいのでしょうか?

  • Access or SQLServer どちらを使用しますか?

    こんにちは。 みなさんならAccessかSQLServerの、どちらのDBを使うかご意見ください(出来ればメリットやデメリットなどもあるとうれしいです) <環境> サーバー:Win2000Server、Access2000または、SQLServer7.0 クライアント:Win2000 ×10台 開発環境:VB6.0(SP5)、Win2000 <やりたいこと&悩み> 1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする 2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない(Accessのサイズ上限を超えてしまう為)。分けた場合は、リンクテーブルが必要。データ数は、1ヶ月に3万件くらい 3)タイミングによっては、同時アクセスあり 4)AccessをDBとして試作品を作成したところ、ファイルをロックできませんでしたというエラーが1日1回程度でてしまう 5)SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり) このような感じですが、みなさんならどちらを選択されますか?ご意見よろしくお願いします。

  • Windows7よりSqlserver2000

    現在下記構成で、Microsoft Access2003 ソフトを稼働させていますが、クライアントの機器変更のために、新クライアント側からのODBC(Sqlserver)設定ができなくなり困っております。 Sqlserver初心者です。ご存じの方がいらっしゃいましたら、ご教授ください。よろしくお願いします。 <現機器構成> サーバー:Windows Server 2003 (Sqlserver2000) クライアント:Windows XP (ODBCドライバー バージョン:2000.85.1117.00) <新機器構成> クライアント:Windows 7  (ODBCドライバー バージョン:6.01.7600.16385) <現象> 新クライアント、『ODBCデータソースアドミニストレーター』より、システムDNSの設定をすると下記のエラーになります。設定内容は、XPのクライアントと同じにしています。ODBCのドライバーのバージョンが違うためでしょうか?それとも、根本的にWindows 7 よりSqlserver2000へのODBC接続は不可能なのでしょうか? <エラー内容> 接続できませんでした。 SQLState:’01000’ SQLServerエラー:1326 [Microsoft][ODBCServerDriver][NamedPipes]connectionOpen(Connect()) 接続できませんでした。 SQLState:’08001’ SQLServerエラー:17 [Microsoft][ODBCServerDriver][NamedPipes]SQLServerが存在しないか、 アクセスが拒否されました。 よろしくおねがいします。

  • SQLServer2000からSQLServer2005へのデータ移行

    SQLServer2000からSQLServer2005へのデータ移行方法 Microsoft SQL Server ManagementStadio Expressで SQLServer2000のバックアップファイルから、 ローカルの開発環境(SQL Server2005 Express)でデータベースを復元しようと試みましたところ、 復元が正常に出来ませんでした。 復元はエラーが発生せず完了しデータベースは作成されているのですが、 データベースを右クリックで削除やプロパティを見ることもできず、 どのようなテーブルが存在するのか中身の参照も追加も何もできない状態です。 http://qanda.rakuten.ne.jp/qa4183273.html 上記URLなどでSQL Server2000のバックアップから2005で復元しているような発言がされているので 可能だと思うのですが、何か特別な処理が必要なのでしょうか? ご存じのかた、教えていただけますようお願いいたします。

  • SQLSERVERのINSERT文について

    VB2005 SQLSERVER EXPRESS 2005 上記環境で、データベースの追加作業をしています。 大量データ(1万件ほど)をINSERTしたときに、 下記エラーが途中で表示されます。エラー表示まではINSERTできています。 途中からまた開始すると、ある程度INSERTされて、エラー表示されます。 サーバーへの接続を確立しているときにエラーが発生しました。 SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: TCP プロバイダ, error: 0 - 通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。) <ソース> For Each Row In Table.Rows --省略-- SqlStr = "INSERT INTO テーブル VALUES (Row("フィールドA")" SqlCmd.CommandText = SqlStr Cn.Open() SqlCmd.ExecuteNonQuery() Cn.Close() Next フィールドは50ほどです。文法のエラーはないと思います。 接続と切断を繰り返すとリソース不足でエラーになるのでしょうか? ご教授願います。

  • COBOL2002-SQLServer200の操作方法

    はじめまして。 早速質問させていただきます。 COBOL2002にて、ODBC-SqlServer操作 の方法がわかりません...。 接続、SELECT、INSERT、UPDATE、、、まったくわかりません...。 どなたか、教えていただけますでしょうか? 環境は下記のとおりです。 ・COBOL2002(HITACHI) ・OS:WindowsServer2000R2 ・DB:SQLServer2000 どうぞお願いいたします。 よろしくお願いいたします。

  • accessからsqlserverへの移行について!

    accessからsqlserverへの移行について! 現在accessでシステム運用しています。 処理に時間がかかるのでDBのみsqlserverへの移行を検討しています。 時間がかかる原因は計算項目が多く計算の為に必要な定義項目と参照項目で計算項目を含めると約300項目となります。 この為、クエリーをNo.1とNo.2の2個のクエリーに分けて対処しています。 クエリーNo.2はNo.1の式の値を使用し更に式で計算しています。 クエリーで定義している計算式も条件が複雑なものもありさらに計算結果⇒計算結果⇒・・・・となっています。 この様な内容なので入力画面はレスポンスが遅く印刷は5~10分位かかるものがあります。 とりあえず印刷処理を早くしたいと思い一旦ワークテーブルに必要項目を出力する等をやって見ましたがやはり抽出に時間がかかりあまり改善しません。 データ件数は約3万件なのでデータ件数は問題ないと思っています。 accessの処理はそのままでDBをsqlserverからODBCでリンクしようと思います。 DBをsqlserverに移行することで処理速度の改善はどの程度見込めるのでしょうか。 計算項目数が多いのであまり見込めないのではと思っています。 accessからsqlserverへの移行された方でどの位改善されたのか教えて下さい。 現在の運用環境はサーバは使用せずファイル共有で4台のPCで運用しています。OSはWinXPです。 今回も専用サーバは使用せず現在のWinXPのPCにSQLServer2005無料を使用しようと思っています。 又、accessの処理で他に早くする方法がありましたら教えて下さい。 よろしくお願いします。

  • PHPからSQLServer

    PHPからSQLServerに接続しようと試みております。 ですが、以下のソースで $conn = mssql_connect("localhost", "sa", ""); mssql_select_db("hoge", $conn); 以下のワーニングが発生してしまいます。 Warning: mssql_connect(): Unable to connect to server: localhost Warning: mssql_select_db(): supplied argument is not a valid MS SQL-Link resource クエリアナライザでは"sa"、""で接続できるのですが・・・ 接続のために行なったことはphp.iniの extension=php_mssql.dll のコメントアウトを外しました。 ご存知の方がおられましたらご教授頂けませんでしょうか。 サーバ OS:Windows2000Server SP4 WebServer:Apache2.0.54 言語:PHP4.3.11 RDBMS:SQLServer2000 端末 OS:Windows2000Professinal SP4 IE6 SP1

    • 締切済み
    • PHP
  • SQLServer サイレントインストール

    SQLServer Expressを自動インストールするバッチファイルを作成しました。 処理の流れは (1)インストール (2)MDFのアタッチ となっています。 ところが(2)が失敗します。 sqlcmd を使ってアタッチをしているのですが、 「操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 となります。 ところが再度(2)の処理だけを実行すると成功します。 つまりインストールは成功しており、sqlcmdは使えるはずなのです。 処理が連続しているのが問題化と考え、コマンドを別ウインドウを立ち上げたり しましたが無理でした。コマンドでスリープも出来ないようです。 解決法をご教授願います。 環境 WindowsServer2008Standerd SQLserverExpressR2SP1 with Tools

  • VB2005からSQLServer2005への接続

    ■環境 WinodowsXP SP3 VisualBasic2005ExpressEdition SQLServer2005Express SQLServerManagementStudioExpress ------------------------------------------- 上記環境でVB(データベースエクスプローラー/データ接続)より ローカルのデータベースファイル(.mdf)にWindows認証で接続を試みた際、 下記エラーが発生します。 // サーバーへの接続を確立しているときにエラーが発生しました。SQL Server 2005 に接続しているときときにこのエラーが発生した場合は、SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因である可能性があります。 (provider: 名前付きパイプ プロバイダ, error: 40 - SQL Server への接続を開けませんでした) // ネット上に解決策と思われる記事を多数見つけ、 ・「共有メメモリ」「TCP/IP」「名前付きパイプ」の有効化 ・TCPポート1433の開放 ・UDPポート1434の開放 ・SQL Server Browserの開始 ・FireWall(Windows/ZoneAlarm)の停止 ・SQLサーバーの同時接続数の確認(0でした。) ・再起動... などなど、ローカルでは必要のない作業まで行いましたが、接続できませんでした。 途中、「ExpressEditionでは接続できないかも」のようなサイトも見つけましたが、確証を得ていません。 尚、別環境(Vista/VS2008/SQLServer2005Express)ではすんなりと通ったので、さらに何が原因か分かりません。 もし、他にお心当たりがある方がいらっしゃったら、ご教授いただけないでしょうか。 当方、言語/SQLなど勉強を始めたばかりで言葉足らずかもしれませんが、どうぞよろしくお願い致します。