SQLServer2012 Express LocalDB接続をVS2010のサーバーエクスプローラにて使用
関連記事
- 基本,謎開発を続けてはおるが,正式なGoが来ないドロドロドロ 【2024年01月25日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- ドロドロドロ...祭り(爆 【2023年12月21日(木)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 【GitHub Copilot】Raspberry Pi&C#のテストコード書いてるけど,次々コードが湧いてくる!スゲースゲー 【2023年04月22日(土)】
する方法.
いや,繋がらなくなって,テゲ焦った>SQLServer
SQLをローカル運用するってことで
今回初導入のSQLServer2012 Express LocalDB接続
プログラムコードでの接続はうまく行って,レコードの追加とかはうまく行ってたんじゃけど
サーバーエクスプローラで接続しようとしたら
データベース’hogehoge’のバージョンは706なので,開けません.このサーバーでは,バージョン655以前がサポートされます.このダウングレードパスはサポートされません.
ユーザーの既定データベースは開けません.ログインに失敗しました.
ユーザー’ナニガシ’はログインできませんでした.
などとエラー出して,受け付けてくれない
しかも,一度このエラーが出だすと,読み込もうとしたMDFファイルがロックかかって,再度オープンも不能.(どのプロセスが嚙んているかよく判らん)
結果,PCを再起動するしかなくてのぉ...
なんで,サーバーエクスプローラでオープンしてくれないの??LocalDBは,VS2012でないとだめじゃろか?
などと,調べていったら...
答えが有りましたっす
LocalDBは,直接ファイルオープンしたらだめで,SqlCliantモードで開けないといけないっぽい
こんな感じ?
設定は...
1.データソースに「Microsoft SQL Server(SqlClient)」
2.サーバー名は「(localdb)¥v11.0」(¥は全角使いましたんで,半角に戻して下さい)
3.データベースへの接続は,「データベースファイルのアタッチ」を選択の上で,MDFファイルを指定
これで,無事,サーバーエクスプローラにて接続できましたっす...
MDFをぶっ壊したかと,焦ったけど,無事でしたわん
参考にドゾー
【追記】
C#での接続用コードも追記しておきます
try { string dbFName = "c:\\hogehoge.mdf" string stConnectionString = ""; stConnectionString += "Data Source=(localdb)\\v11.0;Integrated Security=true;AttachDbFileName=" + dbFName + ";"; // SqlConnection の新しいインスタンスを生成する (接続文字列を指定) m_conn = new System.Data.SqlClient.SqlConnection(stConnectionString); // データベース接続を開く m_conn.Open(); } catch { if (m_conn != null) { m_conn.Dispose(); m_conn = null; } }【さらに追記】
.Net Framework4にて使用する場合は,KB2544514のインストールも必要になりまする
これ忘れて,まっさらの新環境にうちのアプリインストールして,DBに繋がらねぇ~と,さきほど1時間悩みました(爆
KB2544514のダウンロードはこちら
むぅ、流石MSクオリティ。
わけのわからん仕様だぬ~。
自社製品どうしなんだから、なんも考えずに
連携できるようにしときゃよさそうなんだが。
>>康ちゃん@まったり~ さま
LOCALなデータベース系
微妙に仕様を変えたっぽい.そのドキュメント@日本語がないぞぉ~
米国MSサーバにて,こうやれと,やっと記述を見つけたぞな(笑