[過去ログ] ふらっと C#,C♯,C#(初心者用) Part141 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
393(5): 2020/03/08(日)17:03 ID:NoMbfY/N(1) AAS
質問です。
Adaptive Code 第2版を読んでいるのですが、
SQLを用いたサンプルプログラムの実行がうまくいかず、困っています。
サンプルは以下のものを使用しています。
外部リンク:github.com
SQL Serverとの接続をする部分で例外を出します。
具体的には、以下のソースファイルの26行目です。
外部リンク[cs]:github.com
エラーメッセージは、以下のとおりです。
System.Data.SqlClient.SqlException: 'SQL Server への接続を確立しているときに
省7
394(2): 2020/03/08(日)17:44 ID:K4cIg85y(1/2) AAS
>>393
using(var connection = new SqlConnection(settings.GetSetting("TaskDatabaseConnectionString"))){
この次の行で止めてconnection.ConnectionStringの値を確認してみ
LocalDBしかインストールしてないなら接続文字列は "(LocalDB)\{LocalDBインスタンス名}" みたいな形式でないと接続できないよ
このあたりを参考にしてね
外部リンク:blog.clock-up.jp
395(1): 393 2020/03/08(日)18:15 ID:vsuFdxy2(1/3) AAS
>>394
早速ありがとうございます。
connection.ConnectionStringの値は、以下のようになっていました。
ConnectionString = "Data Source=(local);Initial Catalog=TaskDatabase;Integrated Security=True;Application Name=Task List Editor"
ソースコードを読み解いてみると、接続文字列は以下のApp.configから読み取るようになっていました。
外部リンク:github.com
そこでApp.config内の接続文字列を"Data Source=(LocalDB)\MSSQLLocalDB;.....(以下省略)"と変更したところ、
エラーメッセージが変化しました。以下のとおりです。
System.Data.SqlClient.SqlException: 'Cannot open database "TaskDatabase" requested by the login. The login failed.
Login failed for user '{自分のPCのホスト名}\{ユーザー名}'.'
省3
397: 2020/03/08(日)18:32 ID:AVAsnwFk(1) AAS
>>393
出版社に送ってやれよ
くだらんコードのせいでプロジェクトが暗礁に乗り上げた
エラーの理由もわけがわからない
これがadaptive codeってことでよろしいですか?
って
398: 393 2020/03/08(日)19:12 ID:vsuFdxy2(2/3) AAS
>>394
教えていただいた解説ブログを参考に設定を確認しました。
・LocalDB の存在確認
コントロールパネルの「プログラムと機能」にMicrosoft SQL Server Express 2016 LocalDB が存在しており、インストールはできているようです。
・有効な LocalDB のインスタンス名を確認
解説と同様に、sqllocaldb infoをコマンドプロンプトで実行すると、以下が表示されました。
MSSQLLocalDB
ProjectsV13
・SQL Server Data Tools for Visual Studio の存在確認
コントロールパネルの「プログラムと機能」には存在しませんでした。しかしVisual Studioの「ツール」→「ツールと機能を取得」を
省14
399(1): 393 2020/03/08(日)19:36 ID:vsuFdxy2(3/3) AAS
すみません、どうやら解決しました。
サンプルプログラムのTaskDatabaseプロジェクトの「プロパティ」→「デバッグ」を見たところ、
「ターゲット接続文字列」が以下のように記載されていました。
Data Source=(localdb)\ProjectsV13;Initial Catalog=TaskDatabase;Integrated Security=True;Pooling=False;Connect Timeout=30
また、「SQL Server オブジェクト エクスプローラー」をよくよく見てみると、
「SQL Server」の下には「(localdb)\MSSQLLocalDB」のほかに「(localdb)\ProjectsV13」があり、
その下に今回のサンプルプログラムで使用する「TaskDatabase」が作成されていました(いつの間にできた??)。
そこで接続文字列のデータソースを「(localdb)\ProjectsV13」に変更したところ、サンプルプログラムがうまく動作しました。
SQL周りの知識が全く無いので、MDFファイルがなぜ、いつの間に作成されていたのか、、、
まだ理解できていないところはありますが、とりあえず先には進めそうです。
省1
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s