从SQL导出数据并写入文本文件(不能使用BCP或SP) - c#

因此,我正在寻找一种从SQL Server 2000数据库导出数据并将其写入逗号分隔的文本文件的简便方法。它只有一张表,大约只有1,000行。我是C#的新手,所以如果这是一个愚蠢的问题,请原谅。

参考方案

这是一项非常简单的任务,但是您需要学习SqlClient命名空间以及您可以使用的不同对象。您将要注意,尽管对于SQL Server 2000和更低版本的异步方法不支持,所以它们都将被阻塞。

请注意,这是一个非常粗略的示例,我没有对此进行测试,但这将是一种通用方法。

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

我也不确定您的要求是什么,或者您为什么必须执行此任务,但是可能还有很多工具已经可以为您完成此操作(如果这是一次性的事情),因为这不是一个不常见的任务。

数学和科学方程式和Fomulas的数​​据类型-SQL Server 2008? - c#

我正在使用SQL Server2008。我有一个用于教育部门工作的小项目。为此,我需要存储数学和科学方程式和公式。这意味着数据可能包含带有上标和下标的值。我希望以相同的格式保存数据。是否有适合我需求的适当数据类型? 参考方案 如果此列专门用于存储数学方程式和科学公式,那么我将使用Xml列,然后将数据存储在MathML format中。文字段落,例如说明,可以…

SQLAlchemy中的反射不适用于MS SQL Server系统表吗? - python

我试图在MS SQL Server数据库中反映系统表:from sqlalchemy import engine, create_engine, MetaData, Table meta = MetaData() url = engine.url.URL( "mssql+pyodbc", username=credentials[…

将SQL Server Serilog接收器包装在Async中是否有意义? - c#

我正在尝试最大程度地减少从.NET Core应用程序将日志写入SQL Server的性能影响。过去,我将Serilog File接收器包装在Async接收器中-这极大地提高了性能。SQL Server sink documentation指出它将定期和/或在达到batchPostingLimit时批处理日志条目。我找不到有关它决定发出INSERT命令时发生的…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

SQL Joins与Java代码? - java

我有这样的查询Select Folder.name from FROM FolderTable,ValidFolder, ValidFolderGroup, ValidUser, ValidLocation, ValidDepartment where ValidUser.LocationCode *= ValidLocation.LocationCode …