C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: SqlServerでDBを直接アタッチするとエラーが


(過去ログ 67 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■38558 / inTopicNo.1)  SqlServerでDBを直接アタッチするとエラーが
  
□投稿者/ sol (1回)-(2009/07/18(Sat) 23:36:58)

分類:[データベース全般] 

2009/07/19(Sun) 02:15:26 編集(投稿者)

すいません質問です
(Vista C# Express 2008)
別の掲示板で質問したのですが、解決(とういかレスなしでした{質問は閉じました})できなかったのでお願いします

C#側でDB作った上でSQL Serverを右クリック「管理者として実行・・・」で開き
(管理者として実行しないと「データベースのアタッチ中にエラーが発生しました」のエラーがでるVistaの仕様かも?)
SQL Server Management Studio Expressでアタッチした後
デタッチせずC#でDBを見に行こうとすると(アタッチするまで動いていたプログラムが)
this.table1TableAdapter.Fill(this.hogeDataSet.Table1);
上記箇所でログインできず落ちるのです・・なぜでしょう

System.Data.SqlClient.SqlException はハンドルされませんでした。
Message="ユーザーの既定データベースを開けません。 ログインに失敗しました。

・・・と出ます
ちなみに(デタッチした後にやっても同じ結果でした)
vista &「管理者として実行・・・」に問題あるのでしょうか?
(確かxpでは大丈夫だった気がするので)
ちなみにwindows認証です

別の掲示板の質問を持ってくるのは失礼かと思いますが
何卒お願いいたします

追記 VBでも同じ現象が発生、SqlServerを管理者権限で1回でも開くと発生する模様
C#の問題で無いようなのでカテゴリ変更しました
引用返信 編集キー/
■38605 / inTopicNo.2)  Re[1]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ はつね (1042回)-(2009/07/20(Mon) 17:57:29)
はつね さんの Web サイト
No38558 (sol さん) に返信
> SQL Server Management Studio Expressでアタッチした後
> デタッチせずC#でDBを見に行こうとすると(アタッチするまで動いていたプログラムが)
> this.table1TableAdapter.Fill(this.hogeDataSet.Table1);
> 上記箇所でログインできず落ちるのです・・なぜでしょう

まず、基本的なこととして、SQL Server Management Studio Expressでアタッチ操作をすると
いうのは、SQL Serverのプロセスにmdfファイルをアタッチするということです。
この状態で、SQL ServerからアタッチしたDBは利用可能な状態になっています。
ですので、C#から正しいクラスライブラリと接続文字列を用いれば接続できます。
http://jeanne.wankuma.com/tips/vb.net/sqlserver/open.html

ここからは予想なのですが、Visual Studioからmdfファイルを指定する接続方式で
プログラムを作成しちゃったんじゃないでしょうか。
その方法は、ちょこっと試してみる用の方法なので、SQL Serverをきちんとつかう
場合には不向きですし、その方法だと、SQL ServerからデタッチしてVisual Stuido
側でアタッチしないと使えないです(ね、不便でしょ?)。


引用返信 編集キー/
■38626 / inTopicNo.3)  Re[2]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ sol (4回)-(2009/07/21(Tue) 22:46:16)
No38605 (はつね さん) に返信
こんばんは、はつね様にご指導いただくとは光栄の至りです

> まず、基本的なこととして、SQL Server Management Studio Expressでアタッチ操作をすると
> いうのは、SQL Serverのプロセスにmdfファイルをアタッチするということです。
> この状態で、SQL ServerからアタッチしたDBは利用可能な状態になっています。
> ですので、C#から正しいクラスライブラリと接続文字列を用いれば接続できます。
> http://jeanne.wankuma.com/tips/vb.net/sqlserver/open.html

参考にさせていただきます

> ここからは予想なのですが、Visual Studioからmdfファイルを指定する接続方式で
> プログラムを作成しちゃったんじゃないでしょうか。

その通りです(データソースからドラック&ドロップです)

> その方法は、ちょこっと試してみる用の方法なので、SQL Serverをきちんとつかう
> 場合には不向きですし、

!!!
そ そうなんですかいろんな本に書いてあったので一般的な方法だと思ってました!
まずいんですかねぇ(汗

> その方法だと、SQL ServerからデタッチしてVisual Stuido
> 側でアタッチしないと使えないです(ね、不便でしょ?)。

不便ですねーうん
しかしXPだとデタッチしなくてもFillできるんですが、Vistaだとエラーになるのです
2台のマシンでしか試せなかったので偶然かもしれませんが・・・、
そこでデタッチするのですが普通にデタッチするとダメでした
デタッチする時データベースのデタッチウインドウで接続の削除チェックボックスにチェックしてデタッチすると
動くようになりました
皆様ご指導ありがとうございました

引用返信 編集キー/
■38629 / inTopicNo.4)  Re[3]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ はつね (1043回)-(2009/07/22(Wed) 01:56:01)
はつね さんの Web サイト
No38626 (sol さん) に返信
> そ そうなんですかいろんな本に書いてあったので一般的な方法だと思ってました!
> まずいんですかねぇ(汗

少なくとも私は注意書きも書かずにファイルアタッチの方法だけしか
説明していない書籍は参考にしないかもしれません。


> しかしXPだとデタッチしなくてもFillできるんですが、Vistaだとエラーになるのです

不思議な現象ですね。
XPでSQL Serverが動いていなかったとか?

引用返信 編集キー/
■38631 / inTopicNo.5)  Re[3]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ オショウ (277回)-(2009/07/22(Wed) 09:59:00)
> しかしXPだとデタッチしなくてもFillできるんですが、Vistaだとエラーになるのです

  VISTAでは、SQL Serverのインストール最終段階で、VISTA時の
  手順があります。が、これを実施されなかった・・・
  と推測します。

  SQL ServerのVISTAでのインストールについて、調べて下さい。

※ 私のVISTA Ultimate SP1 では、問題なく動作しています。

  因みに、SQL Server Express は、2005? 2008?
  明記されてませんよね・・・

以上。参考まで
引用返信 編集キー/
■38632 / inTopicNo.6)  Re[4]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ はつね (1044回)-(2009/07/22(Wed) 10:36:01)
はつね さんの Web サイト
No38631 (オショウ さん) に返信
>>しかしXPだとデタッチしなくてもFillできるんですが、Vistaだとエラーになるのです
>
>   VISTAでは、SQL Serverのインストール最終段階で、VISTA時の
>   手順があります。が、これを実施されなかった・・・
>   と推測します。

VISTAでもちゃんと手順をとると、SQL Server側でデタッチしなくてもVisual Studio
から「SQL Serverデータベースファイル」のデータソースで繋いでもエラーになら
ないのですか?

引用返信 編集キー/
■38637 / inTopicNo.7)  Re[1]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ みきぬ (542回)-(2009/07/22(Wed) 11:46:32)
No38558 (sol さん) に返信
> 2009/07/19(Sun) 02:15:26 編集(投稿者)
>
> すいません質問です
> (Vista C# Express 2008)
> 別の掲示板で質問したのですが、解決(とういかレスなしでした{質問は閉じました})できなかったのでお願いします
>
それが↓のスレッドのことだとしたら、 SQL Server 2005 Express Edition ですね。
http://ap.atmarkit.co.jp/bbs/core/fdotnet/14592

ってことは、↓のリンク先が参考になるのかな。

Windows Vista と Windows Server 2008 上での SQL Server 2005
http://www.microsoft.com/japan/sqlserver/2005/howtobuy/windowsvistasupport.mspx
引用返信 編集キー/
■38663 / inTopicNo.8)  Re[2]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ sol (5回)-(2009/07/22(Wed) 22:48:15)
はつね 様
>少なくとも私は注意書きも書かずにファイルアタッチの方法だけしか
>説明していない書籍は参考にしないかもしれません。

参考にいたします

みきぬ 様
>>別の掲示板で質問したのですが、解決(とういかレスなしでした{質問は閉じました})できなかったのでお願いします
>>
> それが↓のスレッドのことだとしたら、 SQL Server 2005 Express Edition ですね。
> http://ap.atmarkit.co.jp/bbs/core/fdotnet/14592

それとは違いますが、環境は下記の通りです
失礼しました(^^

Vista C# Express 2008
VISTA Ultimate SP2
SQL Server 2005 Express Edition

> ってことは、↓のリンク先が参考になるのかな。
>
> Windows Vista と Windows Server 2008 上での SQL Server 2005
> http://www.microsoft.com/japan/sqlserver/2005/howtobuy/windowsvistasupport.mspx

参考にさせて頂きます

オショウ 様
>>SQL ServerのVISTAでのインストールについて、調べて下さい。
了解しました

取り合えず、このエラーが発生する条件を書いておきます
SQL Server Management Studio Expressでアタッチすると「データベースのアタッチ中にエラーが発生しました。」とエラーが発生する
しょうがない(?)ので、右クリック「管理者として実行(A)・・・」すると開ける(管理者として実行これが後のFillの部分で発生するエラー原因ぽいです)
では、調査に行ってまいります
引用返信 編集キー/
■38828 / inTopicNo.9)  Re[3]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ sol (8回)-(2009/07/25(Sat) 21:20:09)
>
> オショウ 様
> >>SQL ServerのVISTAでのインストールについて、調べて下さい。
> 了解しました
>
> 取り合えず、このエラーが発生する条件を書いておきます
> SQL Server Management Studio Expressでアタッチすると「データベースのアタッチ中にエラーが発生しました。」とエラーが発生する
> しょうがない(?)ので、右クリック「管理者として実行(A)・・・」すると開ける(管理者として実行これが後のFillの部分で発生するエラー原因ぽいです)
> では、調査に行ってまいります

UACを切るとか、PC名は大文字英数字とか見つけたんですけど、これじゃないですよね
たとえ見つけてもsql server 削除で失敗、再インストールで失敗など怖いんで質問閉めようと思います
回避策も見つかったことですし(自己流ですが・・・)
ありがとうございました
一応明日解決済みする予定です
いいですよね^^?(イイノカナ)
引用返信 編集キー/
■38829 / inTopicNo.10)  Re[4]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ オショウ (280回)-(2009/07/25(Sat) 21:48:54)
> UACを切るとか、PC名は大文字英数字とか見つけたんですけど、これじゃないですよね

  違います!

> たとえ見つけてもsql server 削除で失敗、再インストールで失敗など怖いんで質問閉めようと思います

  怖い・・・と言う話ではないです。

  ちゃんとソフトのインストール時には、VISTAの場合、いろいろ制限がありますので
  事前に調べるか画面に表示される内容をよく読んでから行いましょう!

> 回避策も見つかったことですし(自己流ですが・・・)

  で、それは何?

> 一応明日解決済みする予定です
> いいですよね^^?(イイノカナ)

  掲示板にカキコしたなら、以外の人の為にも、解決させた内容を掲載しましょう!
  (マナー?と言うべきか・・・)

  いいか悪いかと言う話でもない・・・

● 以下のURLの内容を読んでみて下さい

http://msdn.microsoft.com/ja-jp/library/aa905868(SQL.90).aspx?ppud=4
http://jehupc.exblog.jp/9437894/

  初めて見ました?
  それとも、それらしき内容の情報見ました?
  もし読んでいてもスルーした?

以上。参考まで
引用返信 編集キー/
■38830 / inTopicNo.11)  Re[5]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ sol (9回)-(2009/07/25(Sat) 22:15:02)
No38829 (オショウ さん) に返信

光速レスありがとうございます

>>UACを切るとか、PC名は大文字英数字とか見つけたんですけど、これじゃないですよね
>
>   違います!

やはり!

>
>>たとえ見つけてもsql server 削除で失敗、再インストールで失敗など怖いんで質問閉めようと思います
>
>   怖い・・・と言う話ではないです。
>
>   ちゃんとソフトのインストール時には、VISTAの場合、いろいろ制限がありますので
>   事前に調べるか画面に表示される内容をよく読んでから行いましょう!
>

はい

>>回避策も見つかったことですし(自己流ですが・・・)
>
>   で、それは何?
38626 / inTopicNo.3)  Re[2]: SqlServerでDBを直接アタッチするとエラーが
デタッチする時データベースのデタッチウインドウで接続の削除チェックボックスにチェックしてデタッチすると
動くようになりました

です^^v
>
>>一応明日解決済みする予定です
>>いいですよね^^?(イイノカナ)
>
>   掲示板にカキコしたなら、以外の人の為にも、解決させた内容を掲載しましょう!
>   (マナー?と言うべきか・・・)
>
>   いいか悪いかと言う話でもない・・・

ひーーー

>
> ● 以下のURLの内容を読んでみて下さい
>
> http://msdn.microsoft.com/ja-jp/library/aa905868(SQL.90).aspx?ppud=4
> http://jehupc.exblog.jp/9437894/
>
>   初めて見ました?
>   それとも、それらしき内容の情報見ました?
>   もし読んでいてもスルーした?

うーん初めて見たような気が
多分読んでても私のおつむでは・・・でもがんばってみます・・・

> 以上。参考まで

ありがとうございます
引用返信 編集キー/
■38833 / inTopicNo.12)  Re[6]: SqlServerでDBを直接アタッチするとエラーが
□投稿者/ sol (10回)-(2009/07/25(Sat) 23:34:47)
> ■No38829 (オショウ さん) に返信

>>
>>● 以下のURLの内容を読んでみて下さい
>>
>>http://msdn.microsoft.com/ja-jp/library/aa905868(SQL.90).aspx?ppud=4


とりあえず、上記よりサーバロールに追加しようと思い
下記でユーザー名取得
private void button1_Click(object sender, EventArgs e)
{
Console.WriteLine(Environment.UserName);
}
コピペで新しいログイン作ろうとすると「完全な名前 <domain\username> を指定してください」
(Microsoft SQL Server、エラー: 15407)

コントールパネル->ユーザアカウント->ユーザープロファイルの詳細プロパテイの構成 
にあるのが完全な名前だとしたらすでに「ログイン一覧」にあるんですよ(汗
sysadminにチェック入ってるのです

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -