DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   MS SQL (http://www.daniweb.com/forums/forum127.html)
-   -   formatting in sql server (http://www.daniweb.com/forums/thread163646.html)

kischi Dec 22nd, 2008 7:13 pm
formatting in sql server
 
Hi I have a problem when I am copying data from my excel document to sql server 2005.

I have a document called database.xls
Every time I try to copy files from the document to sql server.
It comes up with an error. "Column 'tid' does not allow DBNull.Value."

You can see the error on: http://www.excel.web.surftown.dk/ and then press the button.

but then when I check the rows in the database on "allow null", then it works fine. but it writes the time out like this 30-12-1899 12:00:00
instead of just 12:00:00 as I have written it in the excel file.

So how do I get the error to go away even though "allow null" is not checked?

My excel file looks like this:

id, tid, txt, dato
-----------------------------------
1, 12:00,dnwq, 23-12-2008
2, 14:00, aca, 23-12-2008


and my sql server table looks like this with the datatypes:

ID(bigint),
time(varchar(50),
txt(text),
date(datetime)

This is my code on the page for copying the excel to sql server:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Common;
using System.Data.OleDb;
 



public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }


    protected void Button1_Click(object sender, EventArgs e)
    {
        string excelConnectionString = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;""", Server.MapPath("database.xls"));



        using (OleDbConnection connection =
            new OleDbConnection(excelConnectionString))
        {

            OleDbCommand command = new OleDbCommand
            ("Select * FROM [Sheet1$]", connection);

            connection.Open();

            using (DbDataReader dr = command.ExecuteReader())
            {
                string sqlConnectionString = "Data Source=212.97.133.33;Initial Catalog=kischi2_database;UID=kischi2_radio;PWD=kischi;";

                using (SqlBulkCopy bulkCopy =
                  new SqlBulkCopy(sqlConnectionString))
                {
                    bulkCopy.DestinationTableName = "PROGRAM";
                    bulkCopy.WriteToServer(dr);

                    connection.Close();

                   
                }
            }
        }
    }
}

I hope you understand what I mean and that you can help?

Kischi

Ramy Mahrous Dec 23rd, 2008 2:25 am
Re: formatting in sql server
 
I can't debug your code right now, but I recommend to transfer data from different data repositories to SQL Server is to use SQL Server Integration Service which in SQL Server Business Intelligence Studio. through it your can transfer\cleans\custom your data.

kischi Dec 23rd, 2008 6:56 am
Re: formatting in sql server
 
I really don't understand what you mean.
So I shouldn't use the code I have used or what?

Kischi

Ramy Mahrous Dec 23rd, 2008 7:26 am
Re: formatting in sql server
 
No, don't use this code at all, and turn into using SSIS.

kischi Dec 23rd, 2008 8:36 am
Re: formatting in sql server
 
Ok but how do I then copy data from an excel document into an sql server?

Kischi

Ramy Mahrous Dec 23rd, 2008 8:55 am
Re: formatting in sql server
 
Again, open SQL Server Business Intelligence Development Studio (Shipped with SQL Server all editions expect Express one), create project from type SQL Server Integration Services Project, select Data Flow tab and do it, if you face any problem tell me.

kischi Dec 23rd, 2008 9:09 am
Re: formatting in sql server
 
I don't think I have SQL Server Business Intelligence Development Studio I can only see microsoft sql server management studio express.

Ramy Mahrous Dec 23rd, 2008 9:20 am
Re: formatting in sql server
 
Because you've Express Edition!!
Quote:

open SQL Server Business Intelligence Development Studio (Shipped with SQL Server all editions expect Express one

Ramy Mahrous Dec 23rd, 2008 9:23 am
Re: formatting in sql server
 
Look, send me the Excel file and the table scheme you need to insert into on ramyamahrous@hotmail.com I'll debug your code.

kischi Dec 23rd, 2008 10:02 am
Re: formatting in sql server
 
Ok I sent it to you


All times are GMT -4. The time now is 9:31 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC