2016-11-29 23 views
-2

こんにちは私は毎日私たちがcsvファイルをコピーしてテストフォルダを持っています。 CSVファイルには11個の列がありますが、SQLでは3列のデータしか必要ありません。だから私はSQLで3列を作成しました。私の目的は、フォルダからファイルを読み込み、それらの3列のデータをsqlに挿入することです。タスクスケジューラを使用して毎日タスクを実行します。ファイルがフォルダにある場合は、SQLにデータをインポートする必要がありますCSVファイルからデータを読み取り、vb.netを使用してSQLに挿入

+0

なぜ「LOAD DATA INFILE」ではないのですか? – e4c5

+0

私が間違っていると私を訂正してくださいLOAD DATA INFILEはちょうどコマンドです。タスクscehdulerを使って毎日タスクを実行する必要があります。 – avi

+0

MySQLはOracle製品で、SQL ServerはMicrosoftです。同時に両方を使用する可能性は非常に低く、機能や構文が大きく異なります。あなたの質問に合わないタグを削除するには、投稿を編集する必要があります。タグの意味はここにあります。おなじみのものを追加するのではなく、あなたの質問に実際に適用できるものだけを使用してください。ありがとう。 –

答えて

0

これはあなたのために行います。ロードするフィールド(列)を選択するだけです。

Protected Sub uploadButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles uploadButton.Click 

    ' declare CsvDataReader object which will act as a source for data for SqlBulkCopy 
    Using csvData = New CsvDataReader(new StreamReader(fileUpload.PostedFile.InputStream, True)) 
     ' will read in first record as a header row and 
     ' name columns based on the values in the header row 
     csvData.Settings.HasHeaders = True 

     ' must define data types to use while parsing data 
     csvData.Columns.Add("varchar") ' First 
     csvData.Columns.Add("varchar") ' Last 
     csvData.Columns.Add("datetime") ' Date 
     csvData.Columns.Add("money") ' Amount 

     ' declare SqlBulkCopy object which will do the work of bringing in data from 
     ' CsvDataReader object, connecting to SQL Server, and handling all mapping 
     ' of source data to destination table. 
     Using bulkCopy = New SqlBulkCopy("Data Source=.;Initial Catalog=Test;User ID=sa;Password=") 
      ' set the name of the destination table that data will be inserted into. 
      ' table must already exist. 
      bulkCopy.DestinationTableName = "Customer" 

      ' mappings required because we're skipping the customer_id column 
      ' and letting SQL Server handle auto incrementing of primary key. 
      ' mappings not required if order of columns is exactly the same 
      ' as destination table definition. here we use source column names that 
      ' are defined in header row in file. 
      bulkCopy.ColumnMappings.Add("First", "first_name") ' map First to first_name 
      bulkCopy.ColumnMappings.Add("Last", "last_name") ' map Last to last_name 
      bulkCopy.ColumnMappings.Add("Date", "first_sale") ' map Date to first_sale 
      bulkCopy.ColumnMappings.Add("Amount", "sale_amount") ' map Amount to sale_amount 

      ' call WriteToServer which starts import 
      bulkCopy.WriteToServer(csvData) 

     End Using ' dispose of SqlBulkCopy object 

    End Using ' dispose of CsvDataReader object 

End Sub ' end uploadButton_Click 
関連する問題