質問編集履歴
25
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -166,7 +166,7 @@
|
|
166
166
|
|
167
167
|
```
|
168
168
|
|
169
|
-
**to
|
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
修正
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
|
-
|
243
|
+
{// 2017/02/06追記
|
250
|
-
|
244
|
+
|
251
|
-
|
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
|
-
|
251
|
+
bulk.BulkCopyTimeout = 10000;
|
258
|
-
|
252
|
+
|
259
|
-
|
253
|
+
bulk.DestinationTableName = string.Format("dbo.{0}",tableName);
|
260
|
-
|
254
|
+
|
261
|
-
|
255
|
+
bulk.WriteToServer(datatable); //2017/02/06 書換
|
262
|
-
|
263
|
-
|
264
|
-
|
256
|
+
|
265
|
-
|
257
|
+
}
|
266
258
|
|
267
259
|
}// 2017/02/06追記
|
268
260
|
|
23
完成
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
タイトル変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
C#とSQL文
|
1
|
+
C#とSQL文 mdfファイルのdataをSQLserverに追加したい SqlBulkCopyでロケールID違いのエラー
|
test
CHANGED
File without changes
|
21
テスト
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
修正
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が一致しないといわれる。
|
229
|
+
あと一歩なのかロケールIDが一致しないといわれる。
|
230
|
+
|
231
|
+
このやり方でSQLserver側の0fieldが mdf側になくても行けるのかがいまいち分かりませんが
|
230
232
|
|
231
233
|
ただ '1033'→英語 '1041'→日本語を指定出来るのかな… ?? またググってる最中です。
|
19
修正
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,
|
193
|
+
var mdfcmd = new SqlCommand(mdfsql, mdfcn);
|
194
194
|
|
195
195
|
using (var rd = mdfcmd.ExecuteReader())
|
196
196
|
|
18
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -182,7 +182,7 @@
|
|
182
182
|
|
183
183
|
{
|
184
184
|
|
185
|
-
|
185
|
+
mdfcn.Open();
|
186
186
|
|
187
187
|
SQLcn.Open();
|
188
188
|
|
17
修正
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
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -166,7 +166,9 @@
|
|
166
166
|
|
167
167
|
```
|
168
168
|
|
169
|
+
**tomatoさんのをコメントをみて
|
170
|
+
|
169
|
-
|
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' と
|
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
追記
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
テスト
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
書き直し
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
テスト
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
|
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
テスト
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
見やすく
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のパターン
|
45
|
+
・2のパターン insert文をC#で書いて一行つつでなら… (LINQも使える??)
|
46
|
+
|
47
|
+
今回は1のパターンを思考しています。。
|
46
48
|
|
47
49
|
↓ 1のパターンで考えた場合 (ごめんなさい2のパターンまで頭が回ってません。。。)
|
48
50
|
|
9
見やすく
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,11 +8,9 @@
|
|
8
8
|
|
9
9
|
違うPCのSQLserverのテーブルに追加したいです。。
|
10
10
|
|
11
|
-
↓例
|
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
見やすく
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
|
-
|
43
|
+
2つ浮かびましたが…
|
44
44
|
|
45
|
-
|
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
|
-
|
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
更新
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
|
-
|
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
意味が分かりやすくした。
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文?一括??
|
51
|
+
・1のパターン SQL文?一括??
|
50
52
|
|
51
|
-
|
53
|
+
・2のパターン それともinsert文を一行つつでなら
|
52
54
|
|
53
|
-
SqlDataAdapterとか?
|
54
|
-
|
55
|
-
|
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
|
-
|
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
追記
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
付け加えました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
C#
|
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
付け加えました。
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
見やすくした
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
見やすくした
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
|
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
|
-
|
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
|
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
|
このように一括してテーブルを更新する方法を教えてください。
|