SQL Server
- Trimの使い方
VBからSQL文を実行する場合、 その中で”Trim”を使用しても、実際に取得した値には 反映されません。(空白が削除されません) どのようにすれば”Trim”を使うことができるのでしょうか?
- ベストアンサー
- SQL Server
- web_ryu
- 回答数2
- sqlのusingについて
SQL92標準の select * from a left outer join b using(column) の様にusingはsqlserverでは使用できないのでしょうか? on a.column = b.columnは出来ますが。。。 書き方が悪いのか、sqlserverはSQL92標準ではないのか、そもそもusingはSQL92標準ではないのか。色々webで調べてましたが、わかりませんでした。どなたか教えて下さい。
- 締切済み
- SQL Server
- Vargas
- 回答数2
- サーバ移行に伴うデータベース移行
下記の様に旧サーバから新サーバへDB環境を移行しようと思っています。 旧サーバ:OS…WindowsNT、 DB…SQLserve7.0 新サーバ:OS…Windows2003、 DB…SQLserve2000(SP3) DTSを使用し、既存データベースを新サーバへインポートしていて、テーブルは正常に移行できたのですがストアドプロシージャ(SP)やビュー等が新旧サーバで同じようになりません。(ユーザ作成分しか移行できず) イメージではDTSを使用すればデータベースのテーブルからSPから全て同一の項目数になると思っていたのですが… SPなどはどうやって移せばよいでしょうか? どなたか教えて下さい。 宜しくお願い致します。
- ベストアンサー
- SQL Server
- hamsaku
- 回答数1
- ACCESS MSDE フォーム上からのデータ更新による競合
いつもお世話になっております。 WINDOWS XP ACCESS 2002,2003 を使用しております。 既存のMDBファイルを MSDEを使用するADPファイルに置き換え、 なおかつ複数端末による運用が可能なようにシステムを変更しております。(元々複数端末で使用しています) 以下の手順でadpファイルを作って運用使用とする場合に疑問があるのですが。 (1)MSDEデータベースに接続したadpファイルを作成。 (2)フォームのレコードソースをMSDEデータベースのテーブル、 テキストボックスのコントロールソースに、そのテーブルに存在するフィールドを設定。 (3)このadpファイルを複数マシンに置き、同時に起動。 (4)作成したフォームで同一のレコードを同時に修正。 この場合に、後のほうで更新した時に 「データの競合」ダイアログが表示され、データを反映するか、先に更新されたほうを優先するか 選択できるますが、 mdbでも同様の運用が可能ですが、この運用を続けるとデータ破損の温床になるようですので控えておりました。 MSDEを使ったadpファイルでも同様のことが言えるのでしょうか? また、もしこの運用に問題があるとすれば、非連結のテキストボックスを設けて「更新」ボタンでADOによる 更新を行わなければならないのでしょうか。 レコードをリスト形式で表示しているので出来ればそれはさけたいのですが。 どなたかご教授のほど、何卒よろしくお願いいたします。
- ベストアンサー
- SQL Server
- o_w_nakazaki
- 回答数2
- @@ERRORと@@ROWCOUNT併用について
ストアドプロシージャ内で@@ERRORと@@ROWCOUNTを併用で使用しています。下記URLでは問題ないかの様に記述されていますが、当方の環境では×です。下記の様なストアドです。 declare @errNo int insert into ~ set @errNo = @@ERROR if ( @errNo <> 0 ) return @errNo if ( @@ROWCOUNT = 0 ) return 100 上記では、insert時のエラーは取得でき、@@ROWCOUNTは正常に1件挿入された場合でも、0が取得され、結果return 100が返される事になります。おそらく、@@ROWCOUNTの前でエラーハンドリングしている為、そこでリセット?されていると思われます。逆に、@@ROWCOUNTのハンドリングをエラーハンドリングより前にすると、今度は@@ROWCOUNTは正常に挿入された数が返ってくるものの、エラーハンドリングはされません。(おそらく、@@ROWCOUNTのハンドリング時に@@ERRORがリセットされる為と思われる。)この様な場合どうすればいいのでしょう?因みに以下のURLではOKらしいですが。。。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/acdata/ac_8_con_05_8oc2.asp
- ベストアンサー
- SQL Server
- Vargas
- 回答数1
- vbからストアドプロシージャ内発生のエラーメッセージ取得
タイトル通りの質問です。例えば、重複キーエラー時等はクエリアナライザを使用してストアドプロシージャを実行した場合に、「PRIMARY KEY 違反、制約 'PK_xxx': オブジェクト 'tbl_xxx' には重複したキーは挿入できません。」という様なメッセージが返されます。このメッセージをVB側に返したいのですが、方法がわかりません。質問は以下の3つです。 1)上記の様なエラーの場合は、vb側でon error goto&errorsコレクションでエラーハンドリングは出来ないのでしょうか?(現状トラップしてくれません。) 2)出来ないのであれば、ストアド内でエラーメッセージを取得して、outputパラメータで返却するしかないのかなと思っております。 3)なぜか、create tableで既にあるテーブルを指定してわざとエラーを発生させた直後に@@errorでvb側にリターン値を返却してもempty値として返されます。なぜでしょう。 以上、3点について教えて下さい。(何れかでも構いません)よろしくお願いします。 環境:win2000,sqlserver2000
- 締切済み
- SQL Server
- Vargas
- 回答数1
- データベースの管理(ユーザーの操作状況)
データベースの管理 自分の知らない間にDBの内容が時々変わっていて どの端末から何が実行されたのか調べたいのですが、 どのようにすれば解るのでしょうか。 一応[管理]-[プロセスの管理]という項目を見てみたのですが これではどういう操作が行われたのかわからない状態でした。 以下のような感じです。 データベース1でユーザー1がSELECTを実行しました。 但し、複数の端末でユーザー1を使用しているので 出来ればどの端末から使用されたユーザー1なのかも判断したいと思います。
- ベストアンサー
- SQL Server
- noname#9122
- 回答数2
- SQL Severのクエリ異常
現在、SQLサーバに擬似的なデータを蓄積させどのような影響があるかを調べています。 大容量のデータ蓄積された状態で更に蓄積を続けていくと、クエリ使用時に以下のようなエラーメッセージが表示されることがあります。 「[Microsoft][ODBC SQL Server Driver]時間切れになりました。」 このようなエラーが発生する原因がわかる方、もしくは同じような経験をした方がおられましたら解決方法やその時の状況などをお教え頂けないでしょうか。 SQL Server2000は評価版を使用しています。↓ http://www.microsoft.com/downloads/details.aspx?FamilyID=d20ba6e1-f44c-4781-a6bb-f60e02dc1335&displaylang=ja
- 締切済み
- SQL Server
- kamyamu
- 回答数1
- MSDEをインストールしたサーバーにACCESSで接続できない
サーバー(OS:WinServer2003)にダウンロードしたMSDE2000AをSQLServer認証モードでインストール(初期の管理者ユーザー(sa)のパスワードを"sa"に設定)し、LAN経由で他のPC(OS:WinXPpro)のACCESS2003のプロジェクトファイルの新規作成ウィザードにて接続しようとしましたが「プロバイダの初期化中にエラーが発生・・・[DBNETLIBConnectionOpen(Connect()).]SQLサーバーが存在しないか、アクセスが拒否されました」とのリンクエラーメッセージが出て接続できません。ちなみに、サーバー側のMSSQLSERVERのサービスは開始されており、ログオンの項目はローカルシステムアカウントにチェックが入っています。どなたか対処方法ご存知の方いれば助けて頂きたくお願い致します。
- ベストアンサー
- SQL Server
- kitaosa
- 回答数1
- サブクエリ
見ていただいてありがとうございます。 ただいま、業務でSQLを作成しているのですが、 なにぶん経験が浅く、行き詰ってしまっています。 どなたかわかる方、どうぞご教授ください。 環境は、 OS:WinXP Honme PG:VB.net Server:SQLServer2000 です。 わからないのは、以下の様なSQLです。 SELECT * from (SELECT tblA.field1 , tblA.field2, MAX(tblA.field3) AS MxNum FROM ( (tblA INNER JOIN tblB ON tblA.field1 = tblB.field1) INNER JOIN tblC ON tblA.field2 = tblC.field1 ) INNER JOIN tblD ON tblA.field4 = tblD.field1 GROUP BY tblA.field1,tblA.field2,tblA.field3) サブクエリの使い方がおかしいらしく エラーとなってしまいます。 (「fromの後に不要な文字が・・・」という 構文エラーになります。) サブクエリとして使用しようとしている()内の SELECT文は、クエリアナライザで実行すると 正常に終了して結果が返ってきます。 大変困っているので、 どうか宜しくお願いいたします。
- ベストアンサー
- SQL Server
- TTU006
- 回答数1
- レコードセット抽出後、エラーが出てカーソルの移動ができません。
SQLServer2000を利用して、ASPで開発を行なっています。 2つのテーブルA,Bがあり、Aに対するクエリをサブクエリとした、Bへのクエリを実行した結果をレコードセットとして取得し、カーソルの移動を行なおうとしたところ、 「カーソルが宣言された後にテーブル スキーマが変更されたので、カーソル操作を完了できませんでした。」とのエラーが表示され、カーソルの移動が行なえない状態となっています。 このエラーは、サブクエリの結果によって、出る、出ないがあるのですが、データ的には、出るデータと出ないデータの差異はほとんどありません。 (中に入っているデータは若干異なっていますが、型としては全く同じです。) また、検証用に設置した別の表領域で処理を行なったところ、一切エラーは表示されていません。 そもそも、このエラーはどのような原因で発生し、どういった方法で解決することができるのでしょうか。 よろしくお願いいたします。 なお、下に、その際に使用したクエリの概要を記します。 select fldB1, fldB2, case when (select fldA1 from TBL_A where fldA2 = ***) then 1 else '' end as fldAB1 from TBL_B where fldB3 = ****
- ベストアンサー
- SQL Server
- eitetsu
- 回答数3
- SQLserverとMSDEにていて
当方データベースについてはほとんど無知に等しい状態なのですが、 何の因果かデータベース導入についての調査を行っている最中です。 一応色々なサイトを渡り歩きましたが、下記の点についてご教授願いたく 何卒よろしくお願いいたします。 (1)MSDEの同時接続ユーザー数は「5人」それとも「25人」?。 MSのサイトでは「同時接続ユーザー数が25以下の基本的なWebアプリ ケーションにとっては、MSDE は理想的な~~~」とありましたが、 他のサイトでは「5人」という表記があり、混乱してます。 (2)仮にSQLserverを購入してサーバーにインストールした場合、一般的には 接続人数分のCALを購入しなければならないと思われますが、クライアント 側にMSDEのエンジンだけをを入れるような場合にもライセンスが必要なの でしょうか?。 (基本的なライセンスの考え方がわかっていないのだと思いますが・・・) (3)上記(1)の「同時接続ユーザ数」と言った場合、これは言葉通りの「同時に アクセスできる人数」と考えるのでしょうか?。 つまり、同時にアクセスする端末が5台であれば、時間をずらして5台ずつ アクセスすれば問題ないのでしょうか?。 (例:20台の端末が1時間交代でアクセスするのであれば問題ない?) (4)MSDEでもデータの同期は可能なのでしょうか?。 以上、基本的な(稚拙な)質問でまことに恐縮ですが、何卒ご回答のほど よろしくおねがいいたします。 m(_ _)m
- ベストアンサー
- SQL Server
- m_hagi
- 回答数2
- SQL ServerのインターフェースにACCESSを使う
SQL Serverを使った申込受付システムを考えています。 インターフェースはWEBアプリケーションにしようと 思っていましたが、 ACCESSでもSQL Serverのデータを扱えることを知り 管理者のインターフェースはACCESSでもいいかなと 思い始めました。 WEBアプリを作るよりも早く柔軟なインターフェースが 作れるのではないかと考えています。 この際、何か注意すべき点等はありますでしょうか? このような使い方は一般的なのでしょうか? よろしくお願いします。
- ベストアンサー
- SQL Server
- lucasi
- 回答数2
- DTSパッケージについて
SQLServerかなりの初心者のものです。 SQLServer2000を使用しています。DTSパッケージを使用して、SQL上の既存のデータをAccessへコピーしたいと思います。 今まで、ウィザードを使用して丸ごとテーブルをコピーしたことはありますが、データを変換(加工?)してコピーしたことはありません。 たとえば、半角カナで表記されたものを、全角カナに変換しAccessのテーブルへ移動させることなどは可能でしょうか? できれば元テーブルは既存のソフトのデータベース内にありますので、半角のままにしておきたいです。 移動先の書式だけを全角にしたいのですが可能でしょうか? データの変換を行うには、ActiveX Scriptを利用するという段階までは調べました。 もしその場合はどのようなコード記述をすればよろしいでしょうか。大変お手数ですが、VBのコードをどなたか教えていただけないでしょうか。 よろしくお願いします。
- ベストアンサー
- SQL Server
- aiaikou
- 回答数2
- 件数指定での取得
はじめまして。 データが10000件ほどある場合に、MySQLのlimitのようにx件目からY件取得するということをSQLserverでも実現したいのですが。 どなたかご教授願います。
- ベストアンサー
- SQL Server
- tora_tora_emon
- 回答数1
- 特定の列だけをGROUP BYしたい時
いつもお世話になっております。 ID列をGROUP BYしてCOUNTしたいのですが 氏名列に入っている値がバラバラなので GROUP BYで思う様に出来ない状態です。 条件から氏名列を外すと当然無効と言われます、 どのように回避すればうまく行くのでしょうか? SELECT 氏名列,ID列,COUNT(カウント列) FROM テーブルA WHERE ID列 IN (1,2,3) GROUP BY ID列,氏名列
- ベストアンサー
- SQL Server
- noname#9122
- 回答数2
- 条件付のCOUNTで値が取れません。
INの条件ごとにカウントした数値を表示したいのですが 下記の様に書いて実行すると、 列Bの1も2も同じ列Aのカウント値になってしまいます SELECT ( SELECT COUNT(列A) FROM テーブルA WHERE 列B IN (1,2) ) AS 列別名 FROM テーブルA WHERE 列B IN (1,2) 列Bの値が1の時の列Aのカウント数 列Bの値が2の時の列Aのカウント数 といった具合に取るにはどのように書けばいいのでしょうか? よろしくお願いします。
- ベストアンサー
- SQL Server
- noname#9122
- 回答数1
- SQLServer機のホスト名IPアドレスの変更
初心者です。 おそらく初歩的な事だと思いますが、どなたか教えて下さい。 SQLServerが動作しているサーバ機のホスト名・IPアドレス・管理者のパスワード変更を行うことになりました。 サーバ機:Windows2000:SQL Server2000 ホスト名を修正したところ、SQLServerへの接続が出来なくなってしまいました。 現象: SQL Server Enterprise Managerにて コンソールルート SQLServerグループ 旧ホスト名(DB名?)をクリックすると以下メッセージ ****(旧ホスト名)への接続を確立できませんでした。 理由:指定されたSQLServerが見つかりません。 ConnectionOpen(Connect0)。 SQLServerが実行されているか確認し、 ****(旧ホスト名)ノードをマウス右ボタンでクリックし、 SQLServerの登録プロパティを調べた後、再試行してください (右クリックできませんでした) ちなみに、SQLServerサービスマネージャでは サーバーの欄には新ホスト名が入っており、起動状態でした。 管理環境が悪く、マニュアルや環境設定書等無いので、非常に困っています。 また、今後IPアドレス・管理者のパスワード変更をした場合は別の設定作業があるものなのでしょうか? どうかよろしくお願い致します。
- ベストアンサー
- SQL Server
- akagto
- 回答数1
- SQLについてのエラーメッセージがでます
会社のPCが急に起動しなくなり,WINDOWSXPを再セットアップしました。 自力でなんとかインターネットとメール設定ができたのですが、社内のネットワークが使えません。 システムのプロパティからコンピュータ名やワークグループ名など変更してみました。 再起動したところ、アカウントを入れる画面になるときに、下記のようなエラーメッセージがでます。 これってどういう内容ですか? どうすれば、ネットワークにつながるでしょうか?コンピュータ名が間違っているのでしょうか? Your SQL Server installation is either corrupt or has been tampered with (unknown package id). Please rerun Setup.
- ベストアンサー
- SQL Server
- rue-rue
- 回答数2