none
SQLのインテリセンス RRS feed

  • 質問

  •  

    VB2005、SQL Server2000で開発しています。

     

    VB2005でSQLを実行する際に、

    String型でSQLの文字列を作成してクエリを実行しています。

     

    この場合になのですが、

    SQLのインテリセンスは利用できないのでしょうか?

    特にSQLの文法間違いなどを実行するまで分からないのは

    とても不便だなと思っております。

     

    何か良い方法はございませんでしょうか?

    SQL Serverのバージョンを上げれば解決されるような

    問題であれば、それでも良いです。

     

    何か別な視点でも良いので

    解決方法がございましたら教えて頂けませんか?

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

     

     

    2008年5月21日 14:54

回答

  • あんまり回答ではないです。

     

    最近はSQL関係あまりしないのですが、

    SQLServerのクエリアナライザにさえ、インテリセンス機能はないですよね。

    あの、ほにゃらら付近に正しくない構文があります、というメッセージには

    いらだつこともよくありました。w(付近ってなんだよっって感じ。

     

    ということで、私の提案は、クエリアナライザでまず確認する、ぐらいです。

    選択部分だけ実行、という機能はあったと思うので、select句の入れ子の場合

    なんかに中だけの結果をみたいというようなときに使えます。

     

    編集)ちょっと回答のピントがずれているかも。

    2008年5月21日 15:22
  • SQL Server 2008のManagement StudioでT-SQLのインテリセンスがサポートされます。

    Management StudioでSQLを編集&テストしてからVBの方にコピペすれば、文法間違いなどは事前に回避できることでしょう。

     

    ただ、SQL Server 2008の製品版がいつリリースされるのか、私はわかりません。

    今年の後半だっけ?

    2008年5月21日 15:38
  • この辺でQ3とは言っていますね。その後に発言しているものがあるかどうかについては調べていません。

    http://blogs.technet.com/dataplatforminsider/archive/2008/01/25/microsoft-sql-server-2008-roadmap-clarification.aspx
    2008年5月21日 15:55
    モデレータ
  •  コンドル さんからの引用

    String型でSQLの文字列を作成してクエリを実行しています。

     

    この場合になのですが、

    SQLのインテリセンスは利用できないのでしょうか?


    単なる文字列を作成するのですから、インテリセンスを利用することは無理です。

     

     コンドル さんからの引用

    特にSQLの文法間違いなどを実行するまで分からないのは

    とても不便だなと思っております。


    ここは考え方が違うと思います。まず、作成したSQL文がうまく実行されるかをテストしてから、プログラムで実行した方が効率が良いですし、間違いがありません。更新系のSQL文の実行で誤ると取り返しが付かなくなる可能性があります。

     

     コンドル さんからの引用

    何か良い方法はございませんでしょうか?

    osqlやクエリアナライザなどでSQL文を作成してテストするしかないでしょう。ただ、いずれもSQL文作成時に補完機能はありません。
    補完機能がある製品としてSQL Promptがありますが、有償ですし、私は使ったことがありません。無償ですと、黒猫 SQL Studioが有名だと思います。
    http://kuronekosoft.ewinds.net/sqlstudio.aspx

     

     コンドル さんからの引用

    SQL Serverのバージョンを上げれば解決されるような

    問題であれば、それでも良いです。


    かめたろさんが書かれていますが、SQL Server 2008でインテリセンスが付くようです。SQL Server 2008 Express Editionに対応したToolKitが出ると思いますから、そちらを使うとフリーでインテリセンスが使える環境が手に入るかもしれません。あくまでかもしれませんです。(^^; ちょっと調べてみましたが、残念ながらそのToolKitのCTPはまだ出ていないようです。たぶん。

    2008年5月21日 16:52
    モデレータ

すべての返信

  • あんまり回答ではないです。

     

    最近はSQL関係あまりしないのですが、

    SQLServerのクエリアナライザにさえ、インテリセンス機能はないですよね。

    あの、ほにゃらら付近に正しくない構文があります、というメッセージには

    いらだつこともよくありました。w(付近ってなんだよっって感じ。

     

    ということで、私の提案は、クエリアナライザでまず確認する、ぐらいです。

    選択部分だけ実行、という機能はあったと思うので、select句の入れ子の場合

    なんかに中だけの結果をみたいというようなときに使えます。

     

    編集)ちょっと回答のピントがずれているかも。

    2008年5月21日 15:22
  • SQL Server 2008のManagement StudioでT-SQLのインテリセンスがサポートされます。

    Management StudioでSQLを編集&テストしてからVBの方にコピペすれば、文法間違いなどは事前に回避できることでしょう。

     

    ただ、SQL Server 2008の製品版がいつリリースされるのか、私はわかりません。

    今年の後半だっけ?

    2008年5月21日 15:38
  • この辺でQ3とは言っていますね。その後に発言しているものがあるかどうかについては調べていません。

    http://blogs.technet.com/dataplatforminsider/archive/2008/01/25/microsoft-sql-server-2008-roadmap-clarification.aspx
    2008年5月21日 15:55
    モデレータ
  •  コンドル さんからの引用

    String型でSQLの文字列を作成してクエリを実行しています。

     

    この場合になのですが、

    SQLのインテリセンスは利用できないのでしょうか?


    単なる文字列を作成するのですから、インテリセンスを利用することは無理です。

     

     コンドル さんからの引用

    特にSQLの文法間違いなどを実行するまで分からないのは

    とても不便だなと思っております。


    ここは考え方が違うと思います。まず、作成したSQL文がうまく実行されるかをテストしてから、プログラムで実行した方が効率が良いですし、間違いがありません。更新系のSQL文の実行で誤ると取り返しが付かなくなる可能性があります。

     

     コンドル さんからの引用

    何か良い方法はございませんでしょうか?

    osqlやクエリアナライザなどでSQL文を作成してテストするしかないでしょう。ただ、いずれもSQL文作成時に補完機能はありません。
    補完機能がある製品としてSQL Promptがありますが、有償ですし、私は使ったことがありません。無償ですと、黒猫 SQL Studioが有名だと思います。
    http://kuronekosoft.ewinds.net/sqlstudio.aspx

     

     コンドル さんからの引用

    SQL Serverのバージョンを上げれば解決されるような

    問題であれば、それでも良いです。


    かめたろさんが書かれていますが、SQL Server 2008でインテリセンスが付くようです。SQL Server 2008 Express Editionに対応したToolKitが出ると思いますから、そちらを使うとフリーでインテリセンスが使える環境が手に入るかもしれません。あくまでかもしれませんです。(^^; ちょっと調べてみましたが、残念ながらそのToolKitのCTPはまだ出ていないようです。たぶん。

    2008年5月21日 16:52
    モデレータ
  • 皆様ご回答ありがとうございました。

     

    黒猫 SQL Studioはとても便利ですね。

    当初の質問とは違いますが、SQLからコードを作成できるため、

    私が求めていた機能は満たせました。

     

    皆様のおっしゃるとおり、SQLはクエリアナライザで確認してから

    プログラムに記載しております。

    ただプログラムを書く際に、同じことを書くことがとても不便に

    感じておりましたので、今回の質問させて頂きました。

     

    ご回答大変ありがとうございました。

     

     

    2008年5月22日 14:06