SQL Server
- SQL Server 2005 のエージェントが開始できません
SQL Server エージェント上で右クリック⇒開始を 押下したところ、 「サーバXXXXXXでサービス SQLSERVERAGENT を開始できません」 追加情報 ⇒ アクセスが拒否されました(ObjectExplorer) と表示され、サービスが開始できませんでした。。 エージェント自体は、以下のコマンドで有効にしております。 exec sp_configure 'Agent XPs', '1'; --エージェントの設定を有効にする reconfigure -- 設定をインストール どなたか、ご回答頂けないでしょうか? なにとぞ、よろしくお願い申し上げます。
- ベストアンサー
- SQL Server
- junzo_ex
- 回答数11
- SSIS(DTS)パッケージの物理的な格納場所が分かりません
現在、SQL Server 2005 の エージェントで Business Intelligence Development studio(以下、BIとします)にて 作成したパッケージをスケジューリングして実行したいため、 BI上で、当該パッケージを「****.dtsx のコピーに名前をつけて保存」、 パッケージの場所は「SQL Server」で保存し、 エージェントからパッケージをジョブ登録出来るようにしたところまでは 良いのですが、、、、、 テスト的に作成した不要なパッケージが いくつか残った状態になってしまったため、 (不要なパッケージを)さぁ、削除しよう! と思ったところ、物理的な格納場所が分からないため、 削除が出来ず困っています。 (以下のような階層になっています) SSIS パッケージ ┣ (不要なパッケージ1) ┣ Maintenance Plan ┃ ┗(不要なパッケージ2) ┗ 自身のPC名 ┗(不要なパッケージ3) どなたか、物理的な格納場所がお分かりになる方がいらっしゃいましたら、 ご回答を頂戴できないでしょうか? また、ついでで恐縮なのですが、 パッケージの場所「SSIS パッケージ ストア」で保存した場合の パッケージの物理格納場所も分かりません。。 SSIS パッケージ ┣ File Systems ┗ MSDB こちらも分かる方がいらっしゃったら、併せてご回答頂けると幸甚です。 以上、よろしくお願い申し上げます。
- ベストアンサー
- SQL Server
- junzo_ex
- 回答数3
- JavaサーブレットからSQL Server の接続ができません。
環境は、 OS:win XP Webサーバ:tomcat5.5 統合開発環境:eclipse3.2 DB:SQL server 2005 です。 SQLserverのJDBCドライバ(sqljdbc.jsp)を、%CATALINA_HOME%common/libに配置し、DB接続用のサーブレットを作成、デバッグを行いましたが、 com.microsoft.sqlserver.jdbc.SQLServerException: TDS ログイン前応答が不完全です。対象サーバーは SQL Server 2000 以降である必要があります。 とのエラーが表示され接続できませんでした。 またデバッグを行ったところ、 Class.forName(driver); までは通りますが、次の行の con = DriverManager.getConnection(url,user,passwd); でエラーになるようです。次のステップは、データベース切断の public synchronized void close() throws Exception { 行に飛んでしまいます。 どなたかお気づきの方がおられればご回答願います。 ソースは以下の通りです。 //////////////////////////////////////////// package report.pack; import java.sql.*; public class DatabaseAccess { private String driver; private String url; private String user; private String passwd; private Connection con; private Statement stmt; private ResultSet rs; /** * コンストラクタ */ public DatabaseAccess() { driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; url = "jdbc:sqlserver://localhost:8080;databaseName=testdb;"; user = ""; passwd = ""; } /** * データベースに接続 */ public synchronized void open() throws Exception { // ドライバクラスをロード Class.forName(driver); // データベースへ接続 con = DriverManager.getConnection(url,user,passwd); // ステートメントオブジェクトを生成 stmt = con.createStatement(); } /** * データベースから切断 */ public synchronized void close() throws Exception { if (stmt!=null) { stmt.close(); } if (con!=null) { con.close(); } } /** * クエリーを実行(検索) */ public ResultSet executeQuery(String sql) throws Exception { return stmt.executeQuery(sql); } /** * クエリーを実行(新規、更新、削除) */ public int executeUpdate(String sql) throws Exception { return stmt.executeUpdate(sql); } } //////////////////////////////////////
- ベストアンサー
- SQL Server
- foot-peng
- 回答数1
- ユーザ定義関数を使用して、列名を返すことは可能?
22歳男性です。SQLServerについて質問があります。 =============================================== select * from テーブル名 where F_xxx(@a) like '%あ' ----------------------------------- create function F_xxx (@a int) returns ■■■ as begin return ( case @a when 1 then '社員ID' when 2 then '社員名' end ) end =============================================== 上記のように、ユーザ定義関数(F_xxx)を作り、特定の数値が来た場合に列名を返すプログラムを作りたいのですが、戻り値のデータ型(■■■)がわかりません。 データ型に「Column型」みたいのはあるのでしょうか? 知っている方がいましたら、教えてくださいマシ。
- 締切済み
- SQL Server
- hacker_d
- 回答数2
- 最新かつ最大の値を求める
一つのテーブル(TABLE_A)に次のフィールドがあります。 SEQ_RID, TARGET_REGION, YEAR, SELL_PRICE 1 , 1 , 1997, 1100 2 , 1 , 1997, 1700 3 , 1 , 1997, 1300 4 , 2 , 1997, 1400 5 , 2 , 1997, 1500 6 , 2 , 1998, 1700 7 , 2 , 1998, 1800 8 , 2 , 1998, 1200 .... 各TRAGET_REGION別の最新年(YEAR)の最大売上(SELL_PRICE)を 求めたいと思います。 MAX関数を二つ使うのはだめみたいです。 宜しくお願いします。
- 締切済み
- SQL Server
- monad
- 回答数3
- VB5 + SQLServer2005 で長時間の処理
今までVB5 OS:windowNT4.0 DB:SQLServer6.5 上で稼働していたシステムをサーバ入替があり OS:Windows2003 Server R2 DB:SQLServer2005 Standard Edition に入れ替えたところ データを読み込んで更新するような処理を1時間ぐらい実行していると Microsoft OLE DB Provider for ODBC Drivers でエラーが発生しました。 [Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionRead (WrapperRead()). というエラーが発生します。 この現象を回避するにはどうしたらよろしいでしょうか?
- 締切済み
- SQL Server
- nekopotech
- 回答数1
- ストアドファンクションがうまく作成できない
SQL Server 2005 にて、 以下のようなストアドファンクションを作成しようとしても、 「メッセージ 156、レベル 15、状態 1、プロシージャ TestKansu、行 30 キーワード 'end' 付近に不適切な構文があります。」 といったエラーメッセージが表示されてしまい、 うまく作成できません。。 文法など、いろいろ調べてみたところ、特に問題なさそうな 感じではあるのですが。。 どこに問題があるのか、どなたかご教授願えないでしょうか? なにとぞ、よろしくお願いいたします。 -------------------------------- use tempdb go -- 呼び出し形式 create function TestKansu ( @Date as datetime, @Type as varchar(1) ) returns @ReturnTable table ( StartDate varchar(8), EndDate varchar(8) ) as begin if @Type is null begin raiserror('正しいtypeを指定してください',-1,-1) end if @Date is null begin SET @Date = getdate() end if @Type = '0' begin insert into @ReturnTable select convert(varchar(8), dateadd(dd ,-2 ,@Date), 112) as StartDate, convert(varchar(8), dateadd(dd ,-2 ,@Date), 112) as EndDate, end if @Type = '1' begin insert into @ReturnTable select convert(varchar(8), @Date, 112) as StartDate, convert(varchar(8), @Date, 112) as EndDate end return end --------------------------------
- ベストアンサー
- SQL Server
- junzo_ex
- 回答数1
- 特定の列を抜き出す
SQLServer 2005 を使用しています。 (SQL初心者です) 例えば このような列があった場合 日付,00-00,00-01,00-02,00-03,01-01,01-02,01-03 ・ ・ 頭の2文字が「00」となるデータだけ抜き出す場合、 select 日付,[00-00],[00-01],[00-02] from テーブルA と書いているのですが、 一つ一つ列名を書くのではなく、「頭2文字が'00'」の列全てを抜き出す と言った命令文は書けないでしょうか? 宜しくお願いします。
- ベストアンサー
- SQL Server
- kikei
- 回答数1
- SQL 複数条件を設定
使用言語はjavaで処理しており、 SQL Server2005にて下記のようなテーブル(T_Kekka)があります。 ID a-1 a-2 b-1 b-2 c-1 c-2  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1 bbb aaa ddd ccc eee fff 2 ggg bbb ccc hhh iii jjj 3 bbb mmm ddd ccc fff eee 4 bbb aaa ccc ddd qqq rrr 5 zzz sss ttt ccc vvv xxx 6 zzz aaa ttt ccc vvv fff 7 zzz zzz zzz zzz zzz zzz 8 qqq rrr ccc ddd fff eee 検索する値は下記の通りです。 検索値 |a-1|a-2|b-1|b-2|c-1|c-2|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |aaa|bbb|ccc|ddd|eee|fff| 期待値としては、aはaのグループで検索、bはbのグループで検索、cはcのグループで検索をし、 一致個数の多い順に出力したいと考えております。(理想は下記のような感じです。) また、グループ内であれば逆転していてもOKです。 (例えばID:1のaグループのような感じです。) *1 一致数が同じ場合はcグループの数が多いデータが最優先となり、その他はID順になります。 期待値 ID a-1 a-2 b-1 b-2 c-1 c-2 一致数  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1 bbb aaa ddd ccc eee fff 6 3 bbb mmm ddd ccc fff eee 5 8 qqq rrr ccc ddd fff eee 4・・・*1 4 bbb aaa ccc ddd qqq rrr 4 6 zzz aaa ttt ccc vvv fff 3 2 ggg bbb ccc hhh iii jjj 2 5 zzz sss ttt ccc vvv xxx 1 7 zzz zzz zzz zzz zzz zzz 0 知識不足のため私には複雑すぎて悩んでいる状況なので、 どなた様か知識がある方にご教授願いたく思います。 また、まだテスト段階なので現状のようなテーブル構造にしてしまいましたが、 他のテーブル構造の方がデータが抽出しやすかったり、レスポンスがいい場合がありましたら、 ご教授いただけると助かります。 説明が分かりづらく表が見づらくて申し訳ございませんが、 宜しくお願い致します。
- ベストアンサー
- SQL Server
- CELSIOR_2005
- 回答数1
- 複数列を足しこんで更に合計するには
初心者ですが、書籍を見ても載っていないので質問します。 複数の列を足し込んだものを更に合計するには sum(aKENSU+bKENSU) AS GOKEI といった書き方で良いのでしょうか
- 締切済み
- SQL Server
- univ1398
- 回答数1
- SQL Server2005でログサイズ監視結果をアプリケーションログに出力する方法について
SQL Server2005でトランザクションログの使用率が一定値を超えた場合に、 Windowsのアプリケーションログにログを出力することは出来ますか? 「警告」機能を使って出来そうな感じがしていますが、 通知方法にアプリケーションログへの出力が見あたりませんでした。 ※メール通知はメール環境構築が難しい環境ですので、避けたいと思っています。
- ベストアンサー
- SQL Server
- jangjang
- 回答数1
- ASP.netにストアドプロシージャが登録できない
ASP.netにストアドプロシージャが登録できません。 SQLServer2000にストアドプロシージャを作成しASP.netにsqlcommandを作成。 sqlcommandのプロパティのcommandtypeをStoredProcedureとし、 commandtextにストアドプロシージャ名を入力すると このコマンドの新しいパラメータコレクションを作成しますか?と出てきて 「はい」とするとサーバー名選択画面となり、サーバー名を正しく入力し ログインID、パスワードも正しく入力、オプションも正しく入力したが OK押下後にプロパティの値が無効ですとなってしまい詳細を見ると ストアドプロシージャ***がデータベースに見つかりませんでしたと なってしまいます。 既存のストアドプロシージャはリンク出来るのですが、新規のものが このようになります。原因・解決方法を教えて頂きたく宜しくお願いします。
- ベストアンサー
- SQL Server
- 1976help
- 回答数1
- SQL Serverのテーブル追加を、Accessに反映させたいのですが・・・
SQL Server Enterprise Manager でテーブルの行を追加したのですがが、 リンクさせているAccessのテーブルに反映されません。 会社のDBで、テーブルをSQL Serverで作成し、 Accessへリンクさせています。 通常の入力業務はAccessで行っています。 このDBを作成した前任者が退職してしまい、 DBを管理できる人がいない状況です。 ネットで調べたところ、SQL Serverで、 「パブリケーションの新規作成」を行うか、 「DTSインポート/エクスポート」を行う必要がありそうなのですが、 これらの違いもわからず、 またAccesDBへの影響がわからず、うかつに試せない状況です。 SQL Server、Access共に全く明るくないため、 つたない文章で申し訳ありませんが、 どなたか、テーブルの追加を反映させる方法を 教えて頂けませんでしょうか。
- ベストアンサー
- SQL Server
- momo68
- 回答数2
- [SQL SERVER2005]列項目から行への展開
下記のようなテーブルA,Bがあるとします Aは会社/得意先/年度別の売上げ金額を月別のキー数値に集計したもの、 Bは会社/得意先/年度/月別の売上げ金額を月別のキー数値に集計したものです TABLE A キー:COMPANY 、CUSTOMER 、YEAR キー数値:SALES01、、、、SALES12 TABLE B キー:COMPANY 、CUSTOMER 、YEAR、MONTH キー数値:SALES もともとAのテーブルに下記のようにデータが入っています。 COMPANY CUSTOMER YEAR SALES01 SALES02,,,,,SALES12 ------------------------------------------------------ 1000 A0000001 2007 1000 5000 ,,,, 2000 1000 A0000002 2007 2000 0 ,,,, 1000 : これを各月別の金額を行に展開してBに下記のようにセットしたいのです。 COMPANY CUSTOMER YEAR MONTH SALES ----------------------------------------- 1000 A0000001 2007 01 1000 1000 A0000001 2007 02 5000 : 1000 A0000001 2007 12 2000 1000 A0000002 2007 01 2000 1000 A0000002 2007 02 0 1000 A0000002 2007 12 1000 どのようなSQL文を書くのがお勧めでしょうか? 12回SQLを叩いてINSERTすれば出来そうですがもっとうまいやり方があるのではないかと 思って質問させていただきました。 ちなみにTABLE Aは外部システムのテーブルをSSISを利用して 定期的に取り込んでいます、最終的にはBIのSSASでキューブにまとめます。 初歩的かもしれませんがよろしくお願いいたします。
- 締切済み
- SQL Server
- daiquiri
- 回答数1
- varchar から型 float への変換エラー。
あるSrored Procedure実行時、文字列をfloat型やmoney型などへ変換するとき失敗します。 エラーメッセージはつぎのとおりです。 [Microsoft][ODBC SQL Server Driver][SQL Server]CHAR 値を MONEY に変換できません。CHAR 値に正しくない構文があります。 変換している値を確認すると、'0'や'500.00'といった問題ない値です。 変換をする直前で変換値を'0'にUPDATEしてもエラーになります。 クエリアナライザで実行するとエラーになりません。 ODBCやADOにて違う端末から実行するとエラーになります。SQLサーバー上でADOやODBC接続してもエラーになりません。 もう一台ある同じバージョンのSQLサーバーでも同様のエラーが出ます。 もはやお手上げです。SQL Serverのbugと判断して問題ないでしょうか? バージョンは以下です Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
- 締切済み
- SQL Server
- noname#71607
- 回答数1
- OracleからSQLSERVERへの移行
Oracle10gからSQLServer2005へ移行しています。Oracleのnextvalを使用していたのですが、SQLSERVERにはnextvalに変わる機能がないようです。 現在のIDENTITY値を取得し、プラス1してインサートしたいんですが、中々いい方法が浮かびません。何かいい方法は ないでしょうか?どなたかご教授ください。 環境: jdk1.5 spring ibatis
- 締切済み
- SQL Server
- father73
- 回答数1
- SQLクライアント設定
前回質問させていただきましたが、私の力不足により解決にいたりませんでしたのでもう一度質問させていただきます。 今現在accessでデータベースを構築しています。ウインドウズXPのPCを6台でローカルネットワーク経由で一つのaccessファイルを見に行っています。 データ量が多くなり、レスポンスが悪くなったことと、クライアントとして使用するにはaccessは向かないと知り、SQLサーバーを使用しaccessのデータテーブルをリンクさせフロントエンドとして構築しようと考えています。 ウインドウズXPにSQL express editionをインストールし、テーブルリンクまではできました。ファイヤーウォールの例外とTCP/IPのみを使用するという設定も調べてやりました。 SQLをインストールしたPCではaccessからリンクテーブルへ繋げれますが、他のマシンからリンクテーブルに繋げられません。拒否されましたとエラーが出ます。 nativeclientもインストールし、リモート接続も許可しているのですが、いまいち原因がわかりません。 データソース(ODBC)のシステムDSNに追加をするように聞いたのですが、それをしようにもやはり拒否されます。 もっと根本的な原因があるのでしょうか? これも試したいと思っていますが、Configration Managerがないのでためせない状態です。 http://nas-tech.nasbi.co.jp/blog/2006/10/sql_server_express.html 宜しくお願いいたします。
- ベストアンサー
- SQL Server
- Armadillo5
- 回答数3
- sqlで文字列を最後に追加したい
SqlServer2000でクライアントはクエリアナライザを使っています。 例えばAccessのVBAでは adoRS!備考 = adoRS!備考.value & "追加する文字列" とすれば備考フィールドの最後に文字列を追加できますが、 これをsqlで行う場合にはどうればいいですか? update tblアンケート set 備考 = 備考 & '追加する文字列' としても「データ型の演算子が無効です。データ型演算子は boolean AND、データ型は varchar です。」エラーになってしまいます。 エラーの意味もわからず検索もしたのですが解決できませんでした。 宜しくお願い致します。
- ベストアンサー
- SQL Server
- my_s0215
- 回答数2
- 変数の取り扱いについて
はじめまして。思いっきりSQLSERVERは初心者なんですが宜しくお願いします。 現在SQLSERVER2005です。 ややこしくなるので要点だけ以下まとめています。 変数を利用してレコードを抽出する時なんですが… ALTER PROCEDURE Test @Rank INT BEGIN DECLARE @SELECT AS VARCHAR(100) DECLARE @WHERE AS VARCHAR(100) DECLARE @SQL AS VARCHAR(200) SET @SELECT = 'SELECT * FROM tblA ' SET @WHERE = 'WHERE Rank > ' + @Rank SET @SQL = @SELECT + @WHERE EXEC(@SQL) END 実行すると varchar の値 'WHERE Rank > 'をデータ型 int に変換できませんでした。 となります。 Rank部分が数値なんですが、どのように取扱いすべきなんでしょうか。
- ベストアンサー
- SQL Server
- tamaosaka
- 回答数1
- SQLServer 2005のサービスアカウントについて
構成上の理由からドメインに参加できないサーバにSQLServer2005をインストールすることになりました。 この場合、サービスアカウントに「ドメインユーザ」は使えないので「ビルトインサービスアカウント」の 「ローカルシステム」を使おうと思うのですが、これを選択した場合はローカルユーザににSQLServer用の アカウントが追加され、そのユーザにてSQLServerの接続を行うということなのでしょうか? また、その場合、そのユーザにはローカルのどのような権限を与えるのが一般的なのでしょうか? 色々調べてみたのですが、いまいち理解できなく困っています。 ご存知の方がいらっしゃいましたら、教えてください。
- ベストアンサー
- SQL Server
- kakashiman
- 回答数1