
EXCELVBAでSQLserverからデータをひっぱってきてエクセルにクエリの結果を表示させています。
クエリのコードが短い場合は問題ないのですが、
長くなると、時間切れのメッセージが出てうまくできません。
クエリ自体は長いですが、誤りはありません。
クエリが複雑すぎたり長すぎたりするとだめなのでしょうか。
ご教授ください。宜しくお願い致します。
*************エラーメッセージ***************
実行時エラー'2147217871(80040e31)':
時間切れになりました。
********************************************
Sub test()
Const connstr = "Provider=sqloledb;" & _
"Data Source=サーバ名;Initial Catalog=DB名;UserId=ユーザ名;Password=パスワード; "
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT …ここのクエリ文が長い…"
conn.Open connstr
rs.Open strSQL, conn
Range("A2").CopyFromRecordset rs
rs.Close
conn.Close
End Sub
No.3
- 回答日時:
ちょっと、気になったのですが、
そもそも、クエリによって、読み込まれた。
データは約65000件以下ですよね。
たまに、膨大なデータを読み込もうとして、
エラーしている人が、いるようですが。老婆心ですが、
あと、sqlにlimitを、つけて、読み込みデータ数を
少なく制限して、実行してみるとか、
いろいろ、確認することが、あると思います。
回答ありがとうございます。
EXCELをつかわずにSQLserver側で実行すると問題ないので、
クエリには問題がないようです。時間はかかりますが。
また、データは100件を指定しているので、
データ量が多すぎということはないと思います。
宜しくお願い致します。
No.1
- 回答日時:
接続時のタイムアウトの時間を延ばしてみてください。
以下のURLが結構色々やっているようです。
参考URL:http://www.accessclub.jp/bbs6/0005/das1089.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルからSQLサーバー 時間切れになるようになった
SQL Server
-
SQL Server時間切れについて
SQL Server
-
SQLserver2005 nvarchar を float に変換中にエラー発生
SQL Server
-
-
4
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
5
SQLでエラーです。
Visual Basic(VBA)
-
6
セルの値を取得してSQL文に組み込みたい
SQL Server
-
7
ADO VBA 実行時エラー3021
Visual Basic(VBA)
-
8
実行時エラー -2147217900 ADODBでレコードセットオープン時エラー
Access(アクセス)
-
9
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
10
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
11
GROUP BYを行った後に結合したい。
Oracle
-
12
レコードセットの中身を配列に、そしてワークシートに。
Visual Basic(VBA)
-
13
EXCEL2003 VBAで2つのDBに接続してSQLを実行し、異なる
Visual Basic(VBA)
-
14
レコードが存在しなかった場合
Microsoft ASP
-
15
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
16
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
17
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
18
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
19
SQLの速度をあげるには・・・
Visual Basic(VBA)
-
20
IIF関数の使い方
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
<VB>String→Object
-
多量のSUMIF式を軽くしたい
-
ACCESSからEXCELに出力する際、...
-
VB RS-232C 通信プログラム
-
javaでDBからデータを取ってき...
-
メモ帳(テキストデータ)をExc...
-
csvファイルに複数行あるデ...
-
ウィンドウ枠の固定を行の2箇所...
-
MATLAB matファイル(名前にピ...
-
エクセルで2つの時系列のデー...
-
C# ソケット通信でデータ受信時...
-
Accessで該当データにフラグを...
-
VBにおいてフォーム間の変数の...
-
バーコードリーダーの読込デー...
-
Matlab:plotで特定の値だけをプ...
-
IF関数の論理式での文字の扱いは?
-
EXCEL VBA FREQUENCY関数での...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
<VB>String→Object
-
二分探索の平均探索回数
-
多量のSUMIF式を軽くしたい
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
ユーザーフォームのテキストボ...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
パースとはなんですか?
-
C# ソケット通信でデータ受信時...
-
エクセルで2つの時系列のデー...
-
[C言語] コメント文字列を無視...
-
Accessで該当データにフラグを...
-
カンマからスラッシュに
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
おすすめ情報