SQL Server 2000データベースからデータをエクスポートし、カンマ区切りのテキストファイルに書き込む簡単な方法を探しています。その1つのテーブルとわずか約1,000の行。私はC#の初心者ですので、もしこれが愚かな質問であれば私には容赦してください。SQLからデータをエクスポートしてetxtファイルに書き込む(BCPまたはSPは使用できません)
答えて
これは、必要なツールを備えた他の言語と比べてもC#でも違いはありません。
1)クエリDBとコレクション
2)
C#は私に全く新しいものです...あなたは簡単なチュートリアルこれを行う方法について? – Dave
は、WindowsフォームアプリケーションでこれをやっているCSV形式のファイルにコレクションを書くにおけるデータを格納しますか? DataGridViewなどのコントロールにデータをバインドした場合、これはかなり簡単です。コントロールをループして、そのようにファイルを書き込むことができます。私はこれが好きです。なぜなら、フィルタリングされたメカニズムをアプリケーションに実装した場合、フィルタされたユーザーをファイルに書き込むことができるからです。これは前に私がこれをした方法です。あまり問題なく何らかのコレクションを使用している場合は、これを微調整する必要があります。
private void exportCsv()
{
SaveFileDialog saveFile = new SaveFileDialog();
createSaveDialog(saveFile, ".csv", "CSV (*csv)|*.csv)");
TextWriter writer = new StreamWriter(saveFile.FileName);
int row = dataGridView1.Rows.Count;
int col = dataGridView1.Columns.Count;
try
{
if (saveFile.FileName != "")
{
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
writer.Write(dataGridView1.Columns[i].HeaderText + ",");
}
writer.Write("\r\n");
for (int j = 0; j < row - 1; j++)
{
for (int k = 0; k < col - 1; k++)
{
writer.Write(dataGridView1.Rows[j].Cells[k].Value.ToString() + ",");
}
writer.Write("\r\n");
}
}
MessageBox.Show("File Sucessfully Created!", "File Saved", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
catch
{
MessageBox.Show("File could not be created.", "Save Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
writer.Close();
saveFile.Dispose();
}
}
私はdbの方が多いから始まったことはありません。 (Windowsアプリケーションのフォームではないので)彼らはちょうどここで言った...私たちはC#でそれを必要とし、来週の終わりまでにそれを必要とする。私は新しいことを学ぶのが大好きですが、巨大な痛みを始める場所はありません。 – Dave
これは非常に簡単な作業ですが、SqlClientの名前空間と自由に使用できるさまざまなオブジェクトを学習する必要があります。ただし、SQL Server 2000以降の非同期メソッドはサポートされていないため、すべてがブロックされることに注意してください。
これは非常に概略的な例ですが、これはテストしませんでしたが、これは一般的なアプローチの1つになります。
string connectionString = "<yourconnectionstringhere>";
using (SqlConnection connection = new SqlConnection(connectionString)) {
try {
connection.Open();
}
catch (System.Data.SqlClient.SqlException ex) {
// handle
return;
}
string selectCommandText = "SELECT * FROM <yourtable>";
using (SqlDataAdapter adapter = new SqlDataAdapter(selectCommandText, connection)) {
using (DataTable table = new DataTable("<yourtable>")) {
adapter.Fill(table);
StringBuilder commaDelimitedText = new StringBuilder();
commaDelimitedText.AppendLine("col1,col2,col3"); // optional if you want column names in first row
foreach (DataRow row in table.Rows) {
string value = string.Format("{0},{1},{2}", row[0], row[1], row[2]); // how you format is up to you (spaces, tabs, delimiter, etc)
commaDelimitedText.AppendLine(value);
}
File.WriteAllText("<pathhere>", commaDelimitedText.ToString());
}
}
}
あなたがに見たいと思うだろういくつかの資源:
- SqlConnectionオブジェクトクラス。 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(v=VS.90).aspx
- SqlDataAdapterクラス。 http://msdn.microsoft.com/en-us/library/ds404w5w(v=VS.90).aspx
- SqlDataAdapter.Fillメソッド; http://msdn.microsoft.com/en-us/library/905keexk(v=VS.90).aspx
- DataTableクラス; http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx
私はまたあなたの要件が何であるかわからない、またはあなたがこの作業をしなければならない理由が、これであれば、すでにあなたのためにこれを行うことができますがツールうちのかなり多くが(おそらくもありますこれは珍しいことではないためです)。
さて、感謝の情報...私は同意する、なぜ私のプレートに落ちたのか分からないが、私はちょうど学習経験としてそれを使用するつもりです。私たちがどれほど頻繁にこれを行うのかについては、ほとんど決してありません... – Dave
- 1. SQL Server 2005 bcpでファイルに書き込む
- 2. データはSQLデータベースに書き込まれていませんか?
- 3. JSONファイルにAJAXまたはPHPを使用してJavaScriptデータを書き込む
- 4. phpexcelを使用してデータを書き込むことができません
- 5. 一括コピーデータを使用してCSVにエクスポートすると、ローカルに書き込むことはできません
- 6. ファイルに書き込むことはできませんが、テキストに書き込むことができます
- 7. SQLからの.txtファイルへのBCPの書き込み
- 8. herokuを使用して運用データベースにデータを書き込むことはできません
- 9. Javaプログラムは書き込まれた後にファイル書き込みを使用できません
- 10. phpMyAdminからエクスポートされたsqlファイルをインポートできません
- 11. QTcpSocketにデータを書き込むことができません
- 12. データベースにデータを書き込むことができません
- 13. チャネルネットにデータを書き込むことができません
- 14. xlwtはXLSファイルに書き込むことはできませんか?
- 15. jQueryでtxtファイルにデータを書き込むことができません
- 16. Javaでファイルにデータを書き込むことができません
- 17. ビットマップをファイルFILE *またはXImageからPNGに書き込む
- 18. Task.Run()を使用してコンソールに書き込むことができません
- 19. androidにファイルを書き込むことができません
- 20. Pythonを使用して2つのファイルからExcelにデータを書き込む
- 21. Cでファイルに書き込むことができません
- 22. Swift 3:plistファイルにデータを書き込むことができません
- 23. CSVファイルを使用してDBからCSVにデータを書き込んで、Excelで開いたCSVファイルに迷惑メールを書き込む
- 24. bcpはAWS SQL Serverに接続できませんが、SSMSは
- 25. ファイルに書き込むことができません
- 26. ファイルに書き込むことができません
- 27. ファイルLPT1に書き込むことができません。Java
- 28. catはファイルに書き込みをしていませんか?
- 29. here-stringsを使用してファイルに追加または書き込む
- 30. rdモードのRandomAccessFileファイルは、sdカードにファイルを書き込む場合にのみ使用できません
おそらく、例を検索して特定の問題に戻ってみてください。これはまったく考えられません。 – ChrisBint
私は例を探しましたが、Store procs、xp_cmdshell/BCP、さらにはSSIS/SSRSでも関係があります。 私はBCPを通してこれを行う方法を知っていますが、私の人生のために、私はC#になると失われています。 – Dave