質問編集履歴

25

修正

2017/02/06 07:50

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -166,7 +166,7 @@
166
166
 
167
167
  ```
168
168
 
169
- **tomatoさんのをコメントをみて ↑あきらめて…
169
+ **tamotoさんのをコメントをみて ↑あきらめて…
170
170
 
171
171
  1/17追記 新解決策 SqlBulkCopy あと一歩で解決か!?汗。。**
172
172
 
@@ -232,7 +232,7 @@
232
232
 
233
233
  ただ '1033'→英語 '1041'→日本語を指定出来るのかな… ?? またググってる最中です。
234
234
 
235
- ###2017/02/06追記
235
+ ###2017/02/06追記 修正箇所
236
236
 
237
237
  ```
238
238
 
@@ -261,3 +261,5 @@
261
261
 
262
262
 
263
263
  ```
264
+
265
+ tomatoさんのアドバイスで完璧にクリアできました。

24

修正

2017/02/06 07:49

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -232,37 +232,29 @@
232
232
 
233
233
  ただ '1033'→英語 '1041'→日本語を指定出来るのかな… ?? またググってる最中です。
234
234
 
235
-
236
-
237
- 2017/02/06追記
235
+ ###2017/02/06追記
238
-
239
-
240
-
241
- ###ヘディングのテキスト
236
+
242
-
243
- ```ここに言語を入力
237
+ ```
244
238
 
245
239
 
246
240
 
247
241
  using (DataTable datatable = new DataTable())// 2017/02/06追記
248
242
 
249
- {// 2017/02/06追記
243
+ {// 2017/02/06追記
250
-
244
+
251
- datatable.Load(rd);// 2017/02/06追記
245
+ datatable.Load(rd);// 2017/02/06追記
252
-
246
+
253
- using (var bulk = new SqlBulkCopy(SQLcn))
247
+ using (var bulk = new SqlBulkCopy(SQLcn))
254
-
248
+
255
- {
249
+ {
256
-
250
+
257
- bulk.BulkCopyTimeout = 10000;
251
+ bulk.BulkCopyTimeout = 10000;
258
-
252
+
259
- bulk.DestinationTableName = string.Format("dbo.{0}",tableName);
253
+ bulk.DestinationTableName = string.Format("dbo.{0}",tableName);
260
-
254
+
261
- bulk.WriteToServer(datatable); //2017/02/06 書換
255
+ bulk.WriteToServer(datatable); //2017/02/06 書換
262
-
263
-
264
-
256
+
265
- }
257
+ }
266
258
 
267
259
  }// 2017/02/06追記
268
260
 

23

完成

2017/02/06 07:43

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -231,3 +231,41 @@
231
231
  このやり方でSQLserver側の0fieldが mdf側になくても行けるのかがいまいち分かりませんが
232
232
 
233
233
  ただ '1033'→英語 '1041'→日本語を指定出来るのかな… ?? またググってる最中です。
234
+
235
+
236
+
237
+ 2017/02/06追記
238
+
239
+
240
+
241
+ ###ヘディングのテキスト
242
+
243
+ ```ここに言語を入力
244
+
245
+
246
+
247
+ using (DataTable datatable = new DataTable())// 2017/02/06追記
248
+
249
+ {// 2017/02/06追記
250
+
251
+ datatable.Load(rd);// 2017/02/06追記
252
+
253
+ using (var bulk = new SqlBulkCopy(SQLcn))
254
+
255
+ {
256
+
257
+ bulk.BulkCopyTimeout = 10000;
258
+
259
+ bulk.DestinationTableName = string.Format("dbo.{0}",tableName);
260
+
261
+ bulk.WriteToServer(datatable); //2017/02/06 書換
262
+
263
+
264
+
265
+ }
266
+
267
+ }// 2017/02/06追記
268
+
269
+
270
+
271
+ ```

22

タイトル変更

2017/02/06 07:40

投稿

hamaa
hamaa

スコア45

test CHANGED
@@ -1 +1 @@
1
- C#とSQL文 ローカルにあるmdfファイルのテーブルごと SQLserverに追加したい (ロケールID違い!?)
1
+ C#とSQL文 mdfファイルのdataをSQLserverに追加したい SqlBulkCopyでロケールID違いのエラー
test CHANGED
File without changes

21

テスト

2017/01/19 01:37

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -166,9 +166,9 @@
166
166
 
167
167
  ```
168
168
 
169
- **tomatoさんのをコメントをみて
169
+ **tomatoさんのをコメントをみて ↑あきらめて…
170
-
170
+
171
- 1/17追記 あと一歩で解決か!?汗。。**
171
+ 1/17追記 新解決策 SqlBulkCopy あと一歩で解決か!?汗。。**
172
172
 
173
173
  ```
174
174
 

20

修正

2017/01/17 01:48

投稿

hamaa
hamaa

スコア45

test CHANGED
@@ -1 +1 @@
1
- C#とSQL文 ローカルにあるmdfファイルのテーブルごと SQLserverに追加したい
1
+ C#とSQL文 ローカルにあるmdfファイルのテーブルごと SQLserverに追加したい (ロケールID違い!?)
test CHANGED
@@ -226,6 +226,8 @@
226
226
 
227
227
 
228
228
 
229
- あと一歩なのかロケールIDが一致しないといわれる。 このやり方で0fieldがなくても行けるのか…?
229
+ あと一歩なのかロケールIDが一致しないといわれる。
230
+
231
+ このやり方でSQLserver側の0fieldが mdf側になくても行けるのかがいまいち分かりませんが
230
232
 
231
233
  ただ '1033'→英語 '1041'→日本語を指定出来るのかな… ?? またググってる最中です。

19

修正

2017/01/17 01:27

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -190,7 +190,7 @@
190
190
 
191
191
  var mdfsql = string.Format("SELECT * FROM [{0}]", tableName);
192
192
 
193
- var mdfcmd = new SqlCommand(mdfsql, Diacn);
193
+ var mdfcmd = new SqlCommand(mdfsql, mdfcn);
194
194
 
195
195
  using (var rd = mdfcmd.ExecuteReader())
196
196
 

18

修正

2017/01/17 01:23

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -182,7 +182,7 @@
182
182
 
183
183
  {
184
184
 
185
- Diacn.Open();
185
+ mdfcn.Open();
186
186
 
187
187
  SQLcn.Open();
188
188
 

17

修正

2017/01/17 01:22

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -176,10 +176,6 @@
176
176
 
177
177
  {
178
178
 
179
- //using (var connSrc = new OracleConnection(Settings.Default.OracleConnectionString))
180
-
181
-
182
-
183
179
  using (var mdfcn = new SqlConnection(mdf接続文字列))
184
180
 
185
181
  using (var SQLcn = new SqlConnection(SQLserver接続文字))

16

追記

2017/01/17 01:22

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -166,7 +166,9 @@
166
166
 
167
167
  ```
168
168
 
169
+ **tomatoさんのをコメントをみて
170
+
169
- ###tomatoさんのをコメントをみて 1/17追記 あと一歩で解決か!?汗。。
171
+ 1/17追記 あと一歩で解決か!?汗。。**
170
172
 
171
173
  ```
172
174
 
@@ -208,7 +210,11 @@
208
210
 
209
211
  bulk.WriteToServer(rd); //← ここでエラー ロケールIDが
210
212
 
211
- //追加情報:ソース列 'フィルード名' のロケール ID '1033' とターゲット列 'フィルード名' のロケール ID '1041' は一致していません。
213
+ //追加情報:ソース列 'フィルード名' のロケール ID '1033' と
214
+
215
+ //ターゲット列 'フィルード名' のロケール ID '1041' は
216
+
217
+ //一致していません。
212
218
 
213
219
  }
214
220
 
@@ -221,3 +227,9 @@
221
227
  }
222
228
 
223
229
  ```
230
+
231
+
232
+
233
+ あと一歩なのかロケールIDが一致しないといわれる。 このやり方で0fieldがなくても行けるのか…?
234
+
235
+ ただ '1033'→英語 '1041'→日本語を指定出来るのかな… ?? またググってる最中です。

15

追記

2017/01/17 01:20

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -165,3 +165,59 @@
165
165
 
166
166
 
167
167
  ```
168
+
169
+ ###tomatoさんのをコメントをみて 1/17追記 あと一歩で解決か!?汗。。
170
+
171
+ ```
172
+
173
+ public static void ExecuteCopy(string tableName)
174
+
175
+ {
176
+
177
+ //using (var connSrc = new OracleConnection(Settings.Default.OracleConnectionString))
178
+
179
+
180
+
181
+ using (var mdfcn = new SqlConnection(mdf接続文字列))
182
+
183
+ using (var SQLcn = new SqlConnection(SQLserver接続文字))
184
+
185
+ {
186
+
187
+ Diacn.Open();
188
+
189
+ SQLcn.Open();
190
+
191
+
192
+
193
+ var mdfsql = string.Format("SELECT * FROM [{0}]", tableName);
194
+
195
+ var mdfcmd = new SqlCommand(mdfsql, Diacn);
196
+
197
+ using (var rd = mdfcmd.ExecuteReader())
198
+
199
+ {
200
+
201
+ using (var bulk = new SqlBulkCopy(SQLcn))
202
+
203
+ {
204
+
205
+ bulk.BulkCopyTimeout = 10000;
206
+
207
+ bulk.DestinationTableName = string.Format("dbo.{0}",tableName);
208
+
209
+ bulk.WriteToServer(rd); //← ここでエラー ロケールIDが
210
+
211
+ //追加情報:ソース列 'フィルード名' のロケール ID '1033' とターゲット列 'フィルード名' のロケール ID '1041' は一致していません。
212
+
213
+ }
214
+
215
+
216
+
217
+ }
218
+
219
+
220
+
221
+ }
222
+
223
+ ```

14

テスト

2017/01/17 01:16

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -43,6 +43,8 @@
43
43
  ・1のパターン SQL文で一括
44
44
 
45
45
  ・2のパターン insert文をC#で書いて一行つつでなら… (LINQも使える??)
46
+
47
+ 2のパターンは何回もinsertするのでサーバーに負担かかりませんか?
46
48
 
47
49
  今回は1のパターンを思考しています。。
48
50
 

13

書き直し

2017/01/16 11:17

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -66,17 +66,21 @@
66
66
 
67
67
 
68
68
 
69
- ①visual studioで追加してるから、mdfファイル名(サーバー名でだけいい?)
69
+ **[mdfデータベース名]**visual studioで追加してるから、mdfファイル名(サーバー名でだけいい?)
70
70
 
71
71
  →やってみたが駄目だった。(.mdfまで書く?)
72
72
 
73
73
  ②**[フルパス + mdfデータベース名]**(.mdfまで書く?)
74
74
 
75
- →ちょっとやってみます。
75
+ →ちょっとやってみたがうく行かず…
76
76
 
77
77
  ③プロバイダみたいなものが必要?
78
78
 
79
79
  →**[Provider=]**or**[Driver=]**???mdf用の書き方がいまいち分からない
80
+
81
+
82
+
83
+ そもそもこのやり方でうまく行かないのか…
80
84
 
81
85
 
82
86
 
@@ -140,7 +144,7 @@
140
144
 
141
145
  transaction.Rollback();
142
146
 
143
- throw;
147
+ throw; ← ここでエラーになってる
144
148
 
145
149
  }
146
150
 

12

テスト

2017/01/16 11:11

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -56,11 +56,11 @@
56
56
 
57
57
  INSERT文 ="INSERT INTO SQLserverのテーブル 名 (A_field,B_field,C_field,D_field)
58
58
 
59
- SELECT * FROM **[mdfデータベース名].**テーブル名 WHERE 条件のあるフィールド = 何らか条件"
59
+ SELECT * FROM [mdfデータベース名].テーブル名 WHERE 条件のあるフィールド = 何らか条件"
60
60
 
61
61
  ```
62
62
 
63
- ###★問題点
63
+ ★問題点
64
64
 
65
65
  **[mdfデータベース名]**この部分
66
66
 
@@ -70,13 +70,13 @@
70
70
 
71
71
  →やってみたが駄目だった。(.mdfまで書く?)
72
72
 
73
- ②[フルパス + mdfデータベース名](.mdfまで書く?)
73
+ **[フルパス + mdfデータベース名]**(.mdfまで書く?)
74
74
 
75
75
  →ちょっとちやってみます。
76
76
 
77
77
  ③プロバイダみたいなものが必要?
78
78
 
79
- →[Provider=]or[Driver=]???mdf用の書き方がいまいち分からない
79
+ **[Provider=]**or**[Driver=]**???mdf用の書き方がいまいち分からない
80
80
 
81
81
 
82
82
 

11

テスト

2017/01/16 11:08

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -56,17 +56,19 @@
56
56
 
57
57
  INSERT文 ="INSERT INTO SQLserverのテーブル 名 (A_field,B_field,C_field,D_field)
58
58
 
59
- SELECT * FROM [mdfデータベース名].テーブル名 WHERE 条件のあるフィールド = 何らか条件"
59
+ SELECT * FROM **[mdfデータベース名].**テーブル名 WHERE 条件のあるフィールド = 何らか条件"
60
60
 
61
61
  ```
62
62
 
63
+ ###★問題点
64
+
63
- [mdfデータベース名]この部分
65
+ **[mdfデータベース名]**この部分
64
66
 
65
67
 
66
68
 
67
69
  ①visual studioで追加してるから、mdfファイル名(サーバー名でだけいい?)
68
70
 
69
- →やってみたが駄目だった。
71
+ →やってみたが駄目だった。(.mdfまで書く?)
70
72
 
71
73
  ②[フルパス + mdfデータベース名](.mdfまで書く?)
72
74
 

10

見やすく

2017/01/16 11:05

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -40,9 +40,11 @@
40
40
 
41
41
  2つ浮かびましたが…
42
42
 
43
- ・1のパターン SQL文で一括??
43
+ ・1のパターン SQL文で一括
44
44
 
45
- ・2のパターン それともinsert文をC#で書いて一行つつでなら… (LINQも使える??)
45
+ ・2のパターン insert文をC#で書いて一行つつでなら… (LINQも使える??)
46
+
47
+ 今回は1のパターンを思考しています。。
46
48
 
47
49
  ↓ 1のパターンで考えた場合 (ごめんなさい2のパターンまで頭が回ってません。。。)
48
50
 

9

見やすく

2017/01/16 10:57

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -8,11 +8,9 @@
8
8
 
9
9
  違うPCのSQLserverのテーブルに追加したいです。。
10
10
 
11
- ↓例 テーブルはこうなってほしい (追加したいmdfファイルのデータ)
11
+ ↓例 追加したいmdfファイルのデータ
12
12
 
13
13
  ```
14
-
15
- ローカルmdfファイルのテーブル
16
14
 
17
15
  A_field B_field C_field D_field
18
16
 
@@ -24,7 +22,7 @@
24
22
 
25
23
  ```
26
24
 
27
- ↓SQLserverのテーブル 追加後 (0_fieldは自動採番(オートナンバー)field)
25
+ ↓SQLserverのテーブル 追加後こうなってほしい (0_fieldは自動採番(オートナンバー)field)
28
26
 
29
27
  ```
30
28
 

8

見やすく

2017/01/16 10:55

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
  違うPCのSQLserverのテーブルに追加したいです。。
10
10
 
11
- 例 テーブルはこうなってほしい
11
+ 例 テーブルはこうなってほしい (追加したいmdfファイルのデータ)
12
12
 
13
- ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
13
+ ```
14
14
 
15
15
  ローカルmdfファイルのテーブル
16
16
 
@@ -22,13 +22,11 @@
22
22
 
23
23
  LCno3 名前3 電話3 メール3
24
24
 
25
+ ```
25
26
 
27
+ ↓SQLserverのテーブル 追加後 (0_fieldは自動採番(オートナンバー)field)
26
28
 
27
- ↓追加後
29
+ ```
28
-
29
-
30
-
31
- SQLserverのテーブル
32
30
 
33
31
  0_field A_field B_field C_field D_field
34
32
 
@@ -38,25 +36,17 @@
38
36
 
39
37
  All_No3 LCno3 名前3 電話3 メール3
40
38
 
39
+ ```
41
40
 
41
+ この様に共有サーバーに更新したいのですが…
42
42
 
43
- 0_field
43
+ 2つ浮かびましたが…
44
44
 
45
- は自動採番(オトナバー)field
45
+ ・1のパターン SQL文で一括??
46
46
 
47
- ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
47
+ ・2のパターン それともinsert文をC#で書いて一行つつでなら… (LINQも使える??)
48
48
 
49
- 共有サーバーに更新したいのですが…
50
-
51
- ・1のパターン SQL文?一括??
52
-
53
- ・2のパターン それともinsert文を一行つつでなら
54
-
55
- C#で書いて掛けそうですが… LINQも使える??
56
-
57
-
58
-
59
- ///1のパターンで考えた場合////(ごめんなさい2のパターンまで頭が回ってません。。。)
49
+ 1のパターンで考えた場合 (ごめんなさい2のパターンまで頭が回ってません。。。)
60
50
 
61
51
  ```
62
52
 
@@ -85,6 +75,10 @@
85
75
  ③プロバイダみたいなものが必要?
86
76
 
87
77
  →[Provider=]or[Driver=]???mdf用の書き方がいまいち分からない
78
+
79
+
80
+
81
+ ↓つくったINERT文をこれで
88
82
 
89
83
  ```
90
84
 

7

更新

2017/01/16 10:54

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  ・2のパターン それともinsert文を一行つつでなら
54
54
 
55
- C#で書いて掛けそうですが…
55
+ C#で書いて掛けそうですが… LINQも使える??
56
56
 
57
57
 
58
58
 
@@ -60,15 +60,17 @@
60
60
 
61
61
  ```
62
62
 
63
-
64
-
65
63
  SQL接続文字 = @"Data Source=…"
66
64
 
67
65
 
68
66
 
69
67
  INSERT文 ="INSERT INTO SQLserverのテーブル 名 (A_field,B_field,C_field,D_field)
70
68
 
71
- SELECT * FROM mdfデータベース名.テーブル名 WHERE 条件のあるフィールド = 何らか条件"
69
+ SELECT * FROM [mdfデータベース名].テーブル名 WHERE 条件のあるフィールド = 何らか条件"
70
+
71
+ ```
72
+
73
+ [mdfデータベース名]この部分
72
74
 
73
75
 
74
76
 
@@ -76,23 +78,23 @@
76
78
 
77
79
  →やってみたが駄目だった。
78
80
 
79
- ここの部分がフルパスだけいい?
81
+ [フルパス + mdfデータベース名](.mdfま書く?)
80
82
 
81
83
  →ちょっとちやってみます。
82
84
 
83
85
  ③プロバイダみたいなものが必要?
84
86
 
85
- →???
87
+ [Provider=]or[Driver=]???mdf用の書き方がいまいち分からない
86
88
 
87
-
89
+ ```
88
90
 
89
91
  SQL接続.ExecuteNonQuery(INSERT文, SQL接続文字);
90
92
 
91
-
93
+ ```
92
94
 
93
95
  ↓SQL接続クラス
94
96
 
95
-
97
+ ```
96
98
 
97
99
  public class SQL接続
98
100
 

6

意味が分かりやすくした。

2017/01/16 10:47

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,16 @@
1
- 素人ですみません。
1
+ 素人ですみません。(質問を2人の意見を聞いて再編集しました。)
2
2
 
3
- いろいろググっていますがピンと来しんいます。
3
+ 素人変な風に理解てるかもしれませ!よろしくお願ます。
4
4
 
5
5
 
6
6
 
7
7
  ローカルにあるmdfファイルのテーブルごと
8
8
 
9
- SQLserverのテーブルに追加したいです。。
9
+ 違うPCのSQLserverのテーブルに追加したいです。。
10
10
 
11
+ 例 テーブルはこうなってほしい
11
12
 
13
+ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
12
14
 
13
15
  ローカルmdfファイルのテーブル
14
16
 
@@ -42,32 +44,120 @@
42
44
 
43
45
  は自動採番(オートナンバー)field
44
46
 
45
-
47
+ ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
46
48
 
47
49
  共有サーバーに更新したいのですが…
48
50
 
49
- SQL文?一括?? それとも insert文を一行つつでなら
51
+ ・1のパターン SQL文?一括??
50
52
 
51
- C#で書いて掛けすが…
53
+ ・2のパターン れともinsert文を一行つつなら
52
54
 
53
- SqlDataAdapterとか?
54
-
55
- SqlConnectionかな?
55
+ C#書いて掛けそうですが…
56
-
57
- のやり方がいまいち分からないので…
58
56
 
59
57
 
60
58
 
61
- 追記
59
+ ///1のパターンで考えた場合////(ごめんなさい2のパターンまで頭が回ってません。。。)
62
60
 
63
- 失礼しました。
61
+ ```
64
-
65
- INSERT INTO SQLserverのテーブル 名 (A_field,B_field,C_field,D_field)
66
-
67
- SELECT * FROM mdfファイルのテーブル名.[ココ?] WHERE 条件のあるフィールド = 何らか条件
68
62
 
69
63
 
70
64
 
71
- だとは 思うのですが 接続部分の書き方?
65
+ SQL接続文字 = @"Data Source="
72
66
 
67
+
68
+
69
+ INSERT文 ="INSERT INTO SQLserverのテーブル 名 (A_field,B_field,C_field,D_field)
70
+
71
+ SELECT * FROM mdfデータベース名.テーブル名 WHERE 条件のあるフィールド = 何らか条件"
72
+
73
+
74
+
75
+ ①visual studioで追加してるから、mdfファイル名(サーバー名でだけいい?)
76
+
77
+ →やってみたが駄目だった。
78
+
79
+ ②ここの部分がフルパスだけでいい?
80
+
81
+ →ちょっとちやってみます。
82
+
83
+ ③プロバイダみたいなものが必要?
84
+
85
+ →???
86
+
87
+
88
+
89
+ SQL接続.ExecuteNonQuery(INSERT文, SQL接続文字);
90
+
91
+
92
+
93
+ ↓SQL接続クラス
94
+
95
+
96
+
97
+ public class SQL接続
98
+
99
+ {
100
+
101
+ public static void ExecuteNonQuery(string sql, string 接続文字列)
102
+
103
+ {
104
+
105
+ using (SqlCommand command = new SqlCommand())
106
+
107
+ {
108
+
109
+ SqlConnection conn = new SqlConnection();
110
+
73
- [ココ?]と 書いたところ 後は通常時のSQLサーバーのconnectionの書き方で良いのでしょうか?
111
+ conn.ConnectionString = conn.ConnectionString = 接続文字列;
112
+
113
+ // トランザクションを開始します。
114
+
115
+ conn.Open();
116
+
117
+ SqlTransaction transaction = conn.BeginTransaction(IsolationLevel.ReadCommitted);
118
+
119
+ try
120
+
121
+ {
122
+
123
+ command.CommandText = sql;
124
+
125
+ command.Connection = conn;
126
+
127
+ command.Transaction = transaction;
128
+
129
+ command.ExecuteNonQuery();
130
+
131
+ //トランザクションをコミットします。
132
+
133
+ transaction.Commit();
134
+
135
+ }
136
+
137
+ catch (System.Exception)
138
+
139
+ {
140
+
141
+ //トランザクションをロールバックします。
142
+
143
+ transaction.Rollback();
144
+
145
+ throw;
146
+
147
+ }
148
+
149
+ finally
150
+
151
+ {
152
+
153
+ conn.Close();
154
+
155
+ }
156
+
157
+ }
158
+
159
+ }
160
+
161
+
162
+
163
+ ```

5

追記

2017/01/16 09:44

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -55,3 +55,19 @@
55
55
  SqlConnectionでかな?
56
56
 
57
57
  のやり方がいまいち分からないので…
58
+
59
+
60
+
61
+ 追記
62
+
63
+ 失礼しました。
64
+
65
+ INSERT INTO SQLserverのテーブル 名 (A_field,B_field,C_field,D_field)
66
+
67
+ SELECT * FROM mdfファイルのテーブル名.[ココ?] WHERE 条件のあるフィールド = 何らか条件
68
+
69
+
70
+
71
+ だとは 思うのですが… 接続部分の書き方?
72
+
73
+ [ココ?]と 書いたところ 後は通常時のSQLサーバーのconnectionの書き方で良いのでしょうか?

4

付け加えました。

2017/01/13 06:57

投稿

hamaa
hamaa

スコア45

test CHANGED
@@ -1 +1 @@
1
- C# ローカルにあるmdfファイルのテーブルごと SQLserverに追加したい
1
+ C#とSQL文 ローカルにあるmdfファイルのテーブルごと SQLserverに追加したい
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- ↓追加
25
+ ↓追加
26
26
 
27
27
 
28
28
 

3

付け加えました。

2017/01/12 11:20

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -41,3 +41,17 @@
41
41
  0_field
42
42
 
43
43
  は自動採番(オートナンバー)field
44
+
45
+
46
+
47
+ 共有サーバーに更新したいのですが…
48
+
49
+ SQL文?一括?? それとも insert文を一行つつでなら
50
+
51
+ C#で書いて掛けそうですが…
52
+
53
+ SqlDataAdapterとか?
54
+
55
+ SqlConnectionでかな?
56
+
57
+ のやり方がいまいち分からないので…

2

見やすくした

2017/01/12 11:19

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -12,8 +12,6 @@
12
12
 
13
13
  ローカルmdfファイルのテーブル
14
14
 
15
- -----------------------------------
16
-
17
15
  A_field B_field C_field D_field
18
16
 
19
17
  LCno1 名前1 電話1 メール1
@@ -22,17 +20,13 @@
22
20
 
23
21
  LCno3 名前3 電話3 メール3
24
22
 
25
- -----------------------------------
23
+
26
24
 
27
25
  ↓追加
28
26
 
29
27
 
30
28
 
31
29
  SQLserverのテーブル
32
-
33
- -----------------------------------
34
-
35
- ↓オートナンバー
36
30
 
37
31
  0_field A_field B_field C_field D_field
38
32
 
@@ -42,6 +36,8 @@
42
36
 
43
37
  All_No3 LCno3 名前3 電話3 メール3
44
38
 
45
- -----------------------------------
46
39
 
40
+
41
+ 0_field
42
+
47
- このように一括してテブルを更新する方法を教えてください。
43
+ は自動採番(オトナンバー)field

1

見やすくした

2017/01/11 08:13

投稿

hamaa
hamaa

スコア45

test CHANGED
File without changes
test CHANGED
@@ -12,30 +12,36 @@
12
12
 
13
13
  ローカルmdfファイルのテーブル
14
14
 
15
+ -----------------------------------
16
+
15
17
  A_field B_field C_field D_field
16
18
 
17
- LCno1 名前1 電話1 メール1
19
+ LCno1 名前1 電話1 メール1
18
20
 
19
- LCno2 名前2 電話2 メール2
21
+ LCno2 名前2 電話2 メール2
20
22
 
21
- LCno3 名前3 電話3 メール3
23
+ LCno3 名前3 電話3 メール3
24
+
25
+ -----------------------------------
26
+
27
+ ↓追加
22
28
 
23
29
 
24
30
 
25
-
31
+ SQLserverのテーブル
26
32
 
27
- SQLserverのテーブル
33
+ -----------------------------------
28
34
 
29
35
  ↓オートナンバー
30
36
 
31
37
  0_field A_field B_field C_field D_field
32
38
 
33
- All_No1 LCno1 名前1 電話1 メール1
39
+ All_No1 LCno1 名前1 電話1 メール1
34
40
 
35
- All_No2 LCno2 名前2 電話2 メール2
41
+ All_No2 LCno2 名前2 電話2 メール2
36
42
 
37
- All_No3 LCno3 名前3 電話3 メール3
43
+ All_No3 LCno3 名前3 電話3 メール3
38
44
 
39
-
45
+ -----------------------------------
40
46
 
41
47
  このように一括してテーブルを更新する方法を教えてください。