• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ジョブでvbsを起動する方法)

ジョブでvbsを起動する方法

このQ&Aのポイント
  • ジョブでvbsを起動する方法について解説します。T-SQLでは数式の処理が難しい場合、vbsのEVAL関数を使用することで処理を行うことができます。
  • 数式を直接SQL文に記述する際、^(べき乗)が存在するとT-SQLに変換するのが複雑になるため、ジョブやストアドプロシージャ内からパラメータを与えてVBSを実行し、結果を受け取る方法を探しています。
  • SQLServerのジョブまたはストアドプロシージャ内からパラメータを設定し、VBSを実行させ、その結果を取得する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>a^2.1 という具合に小数点のべき乗の部分が あ。すみません。読みきれてませんでした。 で、そのあたり調べてみると…。 T-SQLでのべき乗は、"^"では行われないみたいです。 "^"は、「ビットごとの排他的 OR」です。 ということで、Power関数を使用するようです。 declare @a as float @a=2 power(cast(@a as float),0.5) で、ルート2が帰ってきます。 (詳細はBooksOnline参照) #言語によって、四則演算以外は違ってたりするので、ヘルプなどで確認するほうがいいかとおもいます。

q_ta
質問者

お礼

SQLServerからVBSコードの実行方法だけわかれば良いと思っていたので説明不足で申し訳ありません。 計算式はユーザによって入力されるため、べき乗はPOWERではなく ^ で入力されます。 その式をPOWERに置き換えるプログラムを作成するのはかなりハードではないかと思われます。 データ変換サービスのローカルパッケージ内でActiveXスクリプトタスクを使ってテーブル全体を変換する方法も試しましたが、処理がかえって複雑になってしまいました。 テーブルから数値データを1件ずつFetchしながら計算処理させ、なおかつべき乗は^で記述できる方法があればベストなのですが...。

その他の回答 (1)

回答No.1

>T-SQLにはその機能がないため sp_executesqlとか、Executeメソッドとかを使ってできません? (詳細はBooksOnline参照)

q_ta
質問者

お礼

べき乗に小数点がなけれぱご教示いただいたsp_executesqlでできるのですが、a^2.1 という具合に小数点のべき乗の部分がエラーになってしまい、できませんでした。 別の方法を考えます。 どうもありがとうございました。