将文本文件数据导入sql数据库表 [英] import text file data into sql database table

查看:146
本文介绍了将文本文件数据导入sql数据库表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的代码存在的问题是
它正在Visual Studio中运行,没有任何错误,但是文本文件的值未导入到sql数据库表中...
这是我的代码附件

The problem with my code is that
it is running without any error in VisualStudio but values of text file are not import into sql database table...
here is my code attached

private void StartImport()
    {
        SqlBulkCopy bulkCopy = new SqlBulkCopy("Server=TCCLPC47;Database=aa;Trusted_Connection=True;", SqlBulkCopyOptions.TableLock);
        bulkCopy.DestinationTableName = "dbo.b";
        bulkCopy.WriteToServer(CreateDataTableFromFile());
    }
    private DataTable CreateDataTableFromFile()
        {
            DataTable dt = new DataTable();
            DataColumn dc;
            DataRow dr;
            dc = new DataColumn();
            dc.DataType = System.Type.GetType("System.int");
            dc.ColumnName = "c1";
            dc.Unique = false;
            dt.Columns.Add(dc);
            dc = new DataColumn();
            dc.DataType = System.Type.GetType("System.int");
            dc.ColumnName = "c2";
            dc.Unique = false;
            dt.Columns.Add(dc);
            dc = new DataColumn();
            dc.DataType = System.Type.GetType("System.int");
            dc.ColumnName = "c3";
            dc.Unique = false;
            dt.Columns.Add(dc);
            dc = new DataColumn();
            dc.DataType = System.Type.GetType("System.int");
            dc.ColumnName = "c4";
            dc.Unique = false;
            dt.Columns.Add(dc);
            FileStream fileStream = new FileStream(@"d:\A.txt", FileMode.Open);
            StreamReader sr = new StreamReader(@"d:\\A.txt");
            string input;
          while ((input = sr.ReadLine()) !=null)
            {
                string[] s = input.Split(new char[] { ',' });
            
                dr = dt.NewRow();
                dr["c1"] = s[0];
                dr["c2"] = s[1];
                dr["c3"] = s[2];
                dr["c4"] = s[3];
                dt.Rows.Add(dr);
                
            }
            sr.Close();
            return dt;
        }
    }



请帮忙..
困惑的geminien ..



please help..
confused geminien..

推荐答案

可能是这行的问题[bulkCopy.DestinationTableName ="dbo.b"; ],应为[bulkCopy.DestinationTableName ="databasename.dbo.b";或数据库名称..b"]有关更多信息,请检查此链接.
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.destinationtablename.aspx [ ^ ]
May be problem is on this line [ bulkCopy.DestinationTableName = "dbo.b"; ] this should be [bulkCopy.DestinationTableName = "databasename.dbo.b"; Or "databasename..b"] for more information check this link.
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.destinationtablename.aspx[^]


朋友,

试试这个查询,
批量插入[tablename]形式带有名称和扩展名的文件路径"
{
FIELDSEPRATOR ='','',
FIELDTERMINATOR =''\ N''
)

希望对您有帮助,

谢谢,
Mahesh Patel
hi friend,

Try this query,
bulk insert into [tablename] form ''File Path with Name and Extension''
{
FIELDSEPRATOR = '','' ,
FIELDTERMINATOR = ''\N''
)

I hope It will help u,

thanks,
Mahesh Patel


感谢Mahesh ..
您能告诉我在哪里写这段代码吗?我是在Visual Studio(aspx.cs)页面上指的吗?
Thanxs Mahesh..
can u plzz tell me where ll i write this code?i mean in visual studio on(aspx.cs) page?


这篇关于将文本文件数据导入sql数据库表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆