- - PR -
タイムアウト
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-01 07:59
さかもとです。おはようございます。
1:他の端末からアクセスしても同様でしょうか? 2:端末側のファイヤーウォール(ウイルスソフトとか)を切っても同様でしょうか? 3:SQLサーバーの認証方式は? 少々気になりまして・・・ご確認いただければと思います。 |
|
投稿日時: 2004-10-01 08:56
きくちゃん さん
ご指摘の通り、IDEのサーバエクスプローラを使用して同じSQL文を 発行したところ「時間切れになりました」とエラーメッセージが表示 されました。。 後、SQL文発行に2秒は確かにかかりすぎだと少し気になっていましたが、 SQL文の見直しが先決でしょうか? さかもと さん 確認完了次第ご連絡します。 |
|
投稿日時: 2004-10-01 09:02
taki様
サーバーエクスプローラーからでもエラーですか。 ちょっと気になる追加事項ですが・・・。 1:VS.NETのバージョンはいくつでしょうか? 2:sqlDataAdapterもツールからドラッグして作成してませんでしょうか? 追加でご確認下さい。 |
|
投稿日時: 2004-10-01 09:22
さかもと さんへ
ご返答ありがとうございます。 1.VB.netのバージョンは、7.0.9486、念のためフレームワークのバージョンは 1.0.3705です。 2.sqlDataAdapterは、コードで記述しました。 宜しくお願いします。 |
|
投稿日時: 2004-10-01 09:26
さかもと さんへ
さかもとさんからのご指摘の点確認しました。 1.他の端末からアクセスしても同様にエラーが発生しました。念のためIDEでも行いましたが、同様にエラーでした。 2.ファイヤーウォールをきっても同様のエラーが発生しました。 3.認証方式は、SQL認証です。 SQL文の見直しが必要でしょうか。。 |
|
投稿日時: 2004-10-01 09:41
さかもとです。
こういうエラーって本当に難しいですよね・・・。 「タイムアウトが発生しました。ここと,そこを,このように直してください」 なんていう夢のようなエラーメッセージが出てくれればと初心者のわたくし は思います・・・。 DataAdapterをコードで記述されているということですので, 1:MyConnection 2:strSQL をどのように記述されているのかを掲載すればベテランの皆様であれば 1.5秒くらいで分かってしまうかもしれません・・・(笑) それといまさらながらですが,DataReaderでテストしたレスで >Dim myCommand As New SqlCommand(strSQL, MyConnection) >Dim myReader As SqlDataReader >myReader = myCommand.ExecuteReader() ' ←この部分でタイムアウトになります。 myCommandを発行する前に MyConnectionをOpenしていましたか? AdapterのFillメソッドではOpen/Closeを自動的にやってくれてますが,上記の場合は明示的にOpenしてやらないといけなかったような・・・(違いましたっけ?今書籍を他の担当者が持ち逃げしてるので・・・) |
|
投稿日時: 2004-10-01 09:54
さかもと さんへ
ご返答ありがとうございます。 まず、DataAdapterのコードで記述している部分をご連絡し ます。 Dim MyConnection As SqlConnection 'コネクションオブジェクト Dim MyCommand As SqlDataAdapter 'DataAdapter Dim strSQL As String '←問題のSQL文が入ります。。 strSQL = "複雑なSQLが入ります" MyConnection = New SqlConnection("Network Address=IPアドレスが;uid=ID;pwd=パスワード;database=データベース名") MyCommand = New SqlDataAdapter(strSQL, MyConnection) SqlGet = New DataSet() MyCommand.Fill(SqlGet) 次にDataReaderのテストですが、さかもとさんすいません、事前にMyConnectionをOpen していました。記述不足ですいません。 |
|
投稿日時: 2004-10-01 10:03
taki様
さかもとです。 SQL文が複雑すぎてタイムアウトしているのか,その他の理由かどうかの切り分けとして strSQLを簡単な文に直してテストしてみてはいかがでしょうか? もしも単にCount(*)などで取得できるようであればSQLの見直しか,WebConfigのタイムアウトの設定の見直しが必要かもしれません。 (だらだらと書く割にはまともな返答ができずにすいません・・・) |