
Visual C# 2010 Express(WPFアプリケーション)とSQL Server 2012 Expressでツール(データベースアプリケーション)を作成していますが,いまいち作り方を理解しておらず合っているのかわからないので,教えていただきたいです。
作成しているツールは会社の課内で使用します。
最終的には課内サーバーに保存してあるDBファイルに各社員のパソコンから作成したツール経由でDBへ読み書きします。ツールの開発は私のパソコンで行います。
課内サーバはWindowsServer2010でIPアドレスを仮に\\11.22.33.444とします。
各社員のパソコンはWin7でIPアドレスを仮に\\11.22.33.445とします。
なお本文では下記のように略して記載します。
SQL Server 2012 Express:sqlserver
SQL Server Management Studio Express 2012:SSMS
Visual C# 2010 Express:VC#
■私が行った作成手順
※サーバで操作
(1)サーバにsqlserverとSSMSをインストール
(2)KANAISQLという名前でインスタンスを作成。Windows認証。
(3)SSMSのセキュリティでログインユーザの中に自分のドメインユーザ名を登録
(4)SSMSで「E:\…DATA」の中に:データベースを作成(BOOKDB.mdf)。テーブル「BOOKInfo」を作成。ついでに1レコード作成。
(5)SSMSでBOOKDB.mdfをデタッチ
(6)BOOKDB.mdfを「E:\…booksDB」にコピペ
※開発PCで操作
(7)パソコンにVC#,sqlserver,LocalDB,SSMSをインストール
(8)SQLEXPRESSという名前でインスタンスを作成。Windows認証。
(9)VC#でWPFアプリケーションを新規作成
(10)[データ]メニューの[新しいデータ ソースの追加]→[データベース]→[データセット]→[\\11.22.33.444\…booksDB\BOOKDB.mdf]を指定→テスト接続を実行→接続OK
→「ローカルにデータをコピーしますか?」といった画面で「OK」をクリック
(11)データソースナビゲーションパネルから「BOOKInfo」をDataGridを指定してユーザーフォームにドラッグ&ドロップしてバインド。
(12)デバッグしてみる→正常にレコードが表示された。
(13)Datasetをデザイナーから編集でInsertクエリを作成
(14)ユーザフォームにボタンを追加してInsertクエリとUpdateクエリを実装
(15)デバッグとリビルドしてexeを実行してみる。→ツール上では正常に表示+テーブル追加された。
(16)DBファイルを確認してみた。開発PC内のデバッグフォルダリリースフォルダ内にある「BOOKDB.mdf」は更新されていた。
※サーバで操作
(17)サーバの[E:\…booksDB\BOOKDB.mdf]が更新されているか確認してみた。
→更新されていない。(6)の時から変更なし。
■わからないこと
1.ツールからサーバのDBへデータの変更を反映させるためにはどうしたらよいのでしょうか。
2.またツール完成後に各社員がこのツールを使用する場合は,全員sqlserverとLocalDBをパソコンにインストールしなければならないものなのでしょうか。
詳しい方ご教授御願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
1>
App.config の connectionString にサーバのDBを指定する
2>
~.exe.config の connectionString にサーバのDBを指定する
todo36様
回答ありがとうございました。
教えていただいたとおりApp.config と~.exe.config の connectionString にサーバのDBを指定してみました。
結果,どうやらサーバに更新しようとしているみたいなのですが,「~.MDF"を更新できませんでした。データベースが読み取り専用です。」と表示されエラーになってしまいます。
インターネットで調べてみたところ,MDFファイルが格納されているフォルダのプロパティで「読み取り専用」を外すことで問題解決すると書いてあったのでやってみたのですがダメでした。
どうやら何回「読み取り専用」のチェックを外して適用しても再度プロパティを開くとまた「読み取り専用」になってしまいます。
どうしたら読み取り専用を外すことができるのでしょうか。
もしくは「データベースが読み取り専用」というのはMDFファイルおよびそのフォルダが読み取り専用ということではないのでしょうか。
ご存知でしたらご教授お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのデータをWebブラウザで...
-
MS-Accessのエクスポートで異常...
-
会社の諸事情により全システム...
-
復旧中のデータベースについて
-
警察はスマホに保存した動画や...
-
TPSとは・・・
-
復元に異常に時間がかかる
-
【DB】同じトランザクション内...
-
ファイルの存在チェック
-
tempdb の適切なサイズ
-
SQL Server Management Studio ...
-
mdfファイルの残骸について
-
postgresql についてです
-
dbFailOnError とは?
-
データベースのアタッチができ...
-
バックアップ方法
-
DATファイルをEXCELで開きたい
-
接続されてるユーザーを切断す...
-
SAPのSPROって何の略ですか?
-
マスタメンテとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
ACCESSのデータをWebブラウザで...
-
1回目の実行に3分、2回目の実行...
-
Sqliteで使えない文字。
-
ELSE先の条件に引っかからない
-
SQL文で、重複データの上書きは...
-
ACOSのRDBについて教え...
-
大規模データ検索結果の検証方法
-
yahoo gooなどの検索の仕組み...
-
SQL ServerにExcelをリンクさせ...
-
コミット前のデータの退避場所
-
業務用のデータベースサーバー...
-
データベースについて
-
PL/SQLで複数のFor文を解除したい
-
SQLSERVERのテーブルにデータを...
-
oracleデータベースの更新履歴
-
DB2 双方向でのレプリケーショ...
-
テストデータの作成
-
accessの上限容量2Gでは容量が...
-
データベース側で100万とか1000...
おすすめ情報