環境
 Windows NT
SQLServer 7.0

SQLServerのクエリアナライザ等で参照(select文)は成功するのですが、
更新(update文やinsert文)を実行すると以下のエラーが発生します。

解決方法がわかる方いましたら教えてください。

サーバー : メッセージ 6、レベル 16、状態 1、行 4
指定された SQL Server が見つかりません。

このQ&Aに関連する最新のQ&A

Server とは SQL」に関するQ&A: SQL Serverとは?

SQL 本」に関するQ&A: SQLの本

A 回答 (2件)

私も詳しくないんですが、教えてくれそうなMLを紹介します。


下記のURLからML入会へ進んでいけば入れます。

このサイトの管理者の方は、技術評論社「SQL Server7.0/MSDE
完全トレーニングテキスト」(上下巻)という本を書かれています。
これもわかりやすい本です。

参考URL:http://www.horikawa.ne.jp/msde/,http://www.kt.ri …
    • good
    • 0

あんまりSQLServerに詳しくないんですが…、


その更新しようしているデータベースのプロパティが、
読み取り専用になっているなんてことはありませんか?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QphpMyAdminでのフィールド削除(クエリ実行)

本当にMySQL初心者なので基本的にコマンドが理解できないのですが、phpMyAdminにてデータベースを管理していますが、一つのテーブルに数千のデータが入っており、例えばID番号1から500までを一気に削除したいと言うときに、最初はローカルにCSVデータをエキスポートして編集した後インポートさせようとしたのですが、文字コードの関係でエラーになってしまい、解決策はクエリでデータを削除するしかないとの結論になりました。
例えばテーブルを指定してからクエリのウィンドウを開くとSELECT * FROM `テーブル名` WHERE 1
とすでに入力されているのですが、これをどのように書き換えれば複数のフィールドをいっぺんに削除できるのでしょうか?
非常に困ってます、アドバイスよろしくお願いします

Aベストアンサー

普通にクエリを書いて実行してください

DELETE FROM `テーブル名` WHERE `ID` BETWEEN 1 AND 500;

QSQLServer7.0で、SELECT文で列を抽出する ※Nullと0の条件について

SQLServer7.0で、SELECT文で列を抽出する際なんですが、

列A 列B
---------
1  Null
2  Null
3  1

↑のテーブルから、列Aの1、2だけを抽出するSELECT文を

SELECT * FROM XXX WHERE 列B <> 1

と作成したのですが、うまく動作しません(汗)
データが一件も取れないのです。(列B:tinyint型、Null許容)
テーブル内のデータをNull→0にして、同SELECT文で抽出すればうまくいったのですが。。
Nullデータを、<>XX という条件で取得することはできないんですかねえ・・・。
それとも、テーブルの設定か、条件の記述方法がまずいんでしょうか。
どなたか、ご存知あればアドバイスをお願いします。

Aベストアンサー

再びNo.1です。
>Null値を抽出したいわけではなく、1以外のデータを抽出したいのです。
>そのデータにNullが含まれてるので・・・、

Prynneさんのおっしゃる通り、

>NULLを含める1以外のもの、という条件にするのであれば、
>WHERE (B列 <> 1) OR (B列 IS NULL)

とのことですが、(NO.1のPS(追伸)にもありますが、)

WHERE (B列 <> 1) AND (B列 IS NOTNULL)

でもできますので、蛇足ながら一応補足させていただきす。m(__)m

Qアクセスの削除クエリでいいのでしょうか?

 データベースで検索できるようにしたいのですが・・・・。クエリの検索結果をフォームに反映させています。
 検索結果表示後、もう一度検索フォームに戻り、検索をかけたときヒットするデータがないにも関わらず前回の検索結果が表示されたままになってしまいます。
削除クエリを使用すればいいのでしょうか?
 また削除クエリをどのように設定したらいいのでしょうか?(たとえば抽出条件が必要なのでしょうか?)
 この場合、マクロはいったん削除クエリを開き、もう一度クエリを開く設定でいいのでしょうか?分かりにくい質問ですいませんが教えてください

Aベストアンサー

はい、フォームのもとになっているクエリのデータが変わっても、更新行為をしないと反映されません。
具体的には、更新したいフォームに、コマンドボタンウイザードでフォーム→再表示を選択し、「再表示」ボタンを作ってみてください。押すとほら、更新されました。ボタン押し下げ動作を省略したい場合は、たとえば検索画面に戻るボタンがあるとしたら、そのボタンのクリック時イベントに、再表示ボタン内の主要ソースを貼り付ければ用を成すはずです。
但し、サブフォームをご利用の場合など、この方法がふさわしくない場合もあります。
確実に更新するには該当のフォームを閉じて開きなおすことです。マクロを作ってボタン化すれば少々画面がちらつくだけでそう不自然ではありません。
お試し下さい。

QVBで使用するAccessのSQL(INSERT文)

VBで使用するAccessのSQL(INSERT文)ですが、
下記のようなSQLはどのようにすれば良いのでしょうか?

テーブル:A
フィールド:B(Text型),C(Yes/No型)
作成したいSQL文:
Textに空白、Yes/NoはTrueを入れ、
既存のフィールド内の一番下に
作成(追加)する。

Aベストアンサー

AccessのJet(MDB)と判断して良いですよね?

もし、Bのフィールドが空文字列の許可が「いいえ」の場合は、
Insert into A (B,C) values (Null, Yes);
と、なります。

テキストで空白とは、Nullや""(空文字列)、または" "ともとれるので言葉が難しいですね。
プログラムを作る時はここらへんの意思統一ができてないとトラブルの元です。

Qテーブル削除クエリ

テーブル作成クエリはあるけどテーブル削除クエリはないのでしょうか?
ADOXで削除するしかないですか?

Aベストアンサー

クエリーのSQLビューで、下記の様なSQLを入力して保存すると、一種のテーブル削除クエリができますね。
DROP TABLE Table1;
データベースウィンドウで右クリックする方が早そうな...
VBAからなら、下記で実行できました。ご参考まで。
Sub Sample()
DoCmd.SetWarnings False
DoCmd.OpenQuery "Q_Table1削除"
DoCmd.SetWarnings True
End Sub

QSQL (insert文)文の質問です。

すみません、緊急で調べる時間があまりなくてお尋ねします。
次のDBが2つあります。

データベース名:A_DATA
内容  名前
    番号
    登録年月日

これには既にデータが投入されています。

そして

データベース名:B_DATA
内容  名前
    番号
    住所
    電話
    国籍

とあった場合B_DATAにinsertを行うのですが、
その際のデータの内容はA_DATAの内容を検索してその
値を投入したいのです。
A_DATAの検索条件は登録年月日が本日のもので
B_DATAの名前と番号の値は

名前=A_DATAの名前
番号=A_DATAの番号


でINSERTしたいのです。


意味がわかりますでしょうか?
多量にデータがあるのでなんとかうまいSQLを考えてるのですが、あまり詳しくないもので。。。
すみません誰かよろしくお願いします。

Aベストアンサー

>それではOracleの場合

#2の方の回答は間違ってます。SQLエラーになります。
valuesの中にselectは記述できませんし、
CURRENT_DATEなんてキーワードありません。

insert into b_data select 名前, 番号 from a_data
where 登録年月日 = truc(sysdate)

または、

insert into b_data (名前, 番号) select 名前, 番号 from a_data
where 登録年月日 = truc(sysdate)

です。

QAccessの削除クエリについて

『先月分のデータを全て削除』という削除クエリを作りたいのです。
本を見ても、
『指定した日の○日前の分までのデータを削除する』はあるのですが・・・・。

例えば、
5月5日にクエリを実行しても、5月10日にクエリを実行しても、4月30日以前のデータが削除されて欲しいのですが。
よろしくお願いいたします。

Aベストアンサー

>『先月分のデータを全て削除』
ということであれば下記条件で削除クエリを作成
すればできます。
---
フィールド:式:Month([対象日付フィールド])
抽出条件:Month(DateAdd("m",-1,Now()))

QAccess にて DISTINCROW を使用した INSERT SELECT

お世話様です。

Access2003 VBAにて、DoCmd.RunSQLを使用してSQL文を流す際、
普通のINSERT-SELECT文はOKですが、
そのSELECT文にDISTINCROW句を使用していると、
数百件程度のSELECT結果しかINSERTできません。
本当は数千件のSELECT結果をINSERTしたいのですが、
これを実行した場合、エラーにもならず、1レコードもINSERTされません。

ためしに、DINSTINCTROWではなく、SQL文を変更してDISTINCTにしてみたところ、
2000件以上でもINSERTできました。
DISTINCROW句を使用して数千件でもINSERTできる方法はあるでしょうか?

ちなみにSELECT単体ですと、DISTINCTROWを使用していながら、
数千件でも結果を表示できます。

SQL例:
str_SQL = " INSERT INTO 結果テーブル(フィールド1, フィールド2, フィールド3)
 SELECT DISTINCTROW A.項目1, A.項目2, B.項目1
 FROM テーブル1 A, テーブル2 B
 (WHERE句はあってもなくても現象変わらず)
 ORDER BY A.項目4 ASC, A.項目5 ASC "

DoCmd.RunSQL (str_SQL)

よろしくお願いいたします。

お世話様です。

Access2003 VBAにて、DoCmd.RunSQLを使用してSQL文を流す際、
普通のINSERT-SELECT文はOKですが、
そのSELECT文にDISTINCROW句を使用していると、
数百件程度のSELECT結果しかINSERTできません。
本当は数千件のSELECT結果をINSERTしたいのですが、
これを実行した場合、エラーにもならず、1レコードもINSERTされません。

ためしに、DINSTINCTROWではなく、SQL文を変更してDISTINCTにしてみたところ、
2000件以上でもINSERTできました。
DISTINCROW句を使用して数千件でもINSERTでき...続きを読む

Aベストアンサー

試しに

CurrentDb.Execute str_SQL

に変更してみては。

Qアクセスのクエリでレコード削除ができません。

アクセス超初心者です。

テーブルを商品コードでくっつけて、クエリのデザインビューで表示しました。

いらないレコードを削除しようとしたところ、できません。

くっつける前の、テーブルではできますが、クエリで実行させ、レコードを削除しようとしたところできません。

どうしたらよいのか教えてください。

あと、もうひとつ、クエリで、出力したいフィールド名をドラッグしたあと、削除したいときには、どうすればよいでしょうか?

表示しないなら、できるのですが・・・。削除がわかりません。

よろしくお願いいたします。

Aベストアンサー

二つのテーブル構造が不明
クエリのSQL文も不明
サンプルデータ

以上三点が分からないと回答のしようもありません。
SQL文はクエリをデザインビューで開いて
その上で右クリックすると現れるコンテキストメニューに
SQLビュー が有りますので切り替えると
SELECT ・・・・ てのが有りますのでコピーして此処に貼り付けできます。

クエリはSQL文を分かりやすいように作られたモノで実体はSQL文です。
掲示板ではこのSQL文でやり取りをします。
さて、なぜ削除できないかというと、そのように作ってしまっているからです。
このリンク先の説明を理解すれば原因が突き止められます。
クエリのデータを編集できない状況
http://office.microsoft.com/ja-jp/access-help/HA010097876.aspx

フィールドの削除は、Access2010の場合なら
リボンの中に「列の削除」が有ります。
または、フィールド名の少し上にマウスカーソルを持って行くと
下向きの太い矢印になるのでクリック、列全体が反転しますので Deleteキーで削除
なお、次回からはAccessのバージョンも明記しましょう。

二つのテーブル構造が不明
クエリのSQL文も不明
サンプルデータ

以上三点が分からないと回答のしようもありません。
SQL文はクエリをデザインビューで開いて
その上で右クリックすると現れるコンテキストメニューに
SQLビュー が有りますので切り替えると
SELECT ・・・・ てのが有りますのでコピーして此処に貼り付けできます。

クエリはSQL文を分かりやすいように作られたモノで実体はSQL文です。
掲示板ではこのSQL文でやり取りをします。
さて、なぜ削除できないかというと、そのように作ってしまっているか...続きを読む

QSQLServer6.5 における、Selectエラー

SQLを実行すると、

メッセージ 702、レベル 20、状態 1
単一ペ-ジのサイズ 2040 バイトを超える 2080 バイトをメモリが要求されました。

のエラーになってしまいます。
解決方法をご存知のかた、ご回答、よろしくお願いします。

Aベストアンサー

環境設定でメモリ設定を増加させてみてはどうでしょうか?
サーバーを展開して、右クリック、「環境設定」で変更できます。
一時領域に関する設定を増やしてみましょう。


人気Q&Aランキング

おすすめ情報