是否可以从* .txt文件中填充* .sdf数据库中的表?

时间:2012-10-16 08:05:43

标签: sql sql-server database ado.net

所以一切都在我的问题中。我在asp.net中有一个Web应用程序,有两个数据库:

第一个ASPNETDB.MDF和第二个MyApp.sdf

我想从外部文件(如txt文件或其他文件)填充MyApp.sdf的表。

这在Visual Studio 2010中是否可行?有没有办法做到这一点?

提前多多感谢

2 个答案:

答案 0 :(得分:0)

写一个简单的应用程序:

    using (SqlConnection sqlcnn = new SqlConnection("Data Source=myapp.sdf"))
    {
        SqlCommand sqlcmd = new SqlCommand();
        sqlcmd.Connection = sqlcnn;

        sqlcnn.Open();

        StreamReader sr = new StreamReader(@"c:\mydir\myfile.txt");

        while (sr.Peek() != -1) // check for eof (end of file)
        {
            String line = sr.ReadLine();

            String[] values = line.Split(' '); // e.g if your values are seperated by space

            sqlcmd.CommandText = String.Format("INSERT INTO tableName VALUES ({0},{1},{2})", values[0], values[1], values[2]);

            sqlcmd.ExecuteNonQuery();
        }
    }

答案 1 :(得分:0)

您还可以将bcp -the BULK INSERT命令与包含由字段终止符分隔的记录的文件一起使用。例如:

BULK INSERT tablename 
FROM 'c:\file.txt' 
WITH 
( 
    FIRSTROW = 2, // if the first row contains table field names
    MAXERRORS = 0, 
    FIELDTERMINATOR = ',', //separator character
    ROWTERMINATOR = '\n' 
)