1
A
回答
3
可以使用Bulk Insert
爲宗旨:
BULK INSERT table_name
FROM 'c:\test.csv'
WITH
(
FIRSTROW= 3,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
0
您可以使用這段代碼
StreamReader file = new StreamReader(bulk_data_filename);
CsvReader csv = new CsvReader(file, true,',');
SqlBulkCopy copy = new SqlBulkCopy(conn);
copy.DestinationTableName = tablename;
copy.WriteToServer(csv);
0
Followng沒有使用BULK INSERT命令 - 但使用.Net
SqlBulkCopy
類SSIS
腳本任務
以下是script task
使用內部SSIS批量複製的方式從一個表將數據複製到它的歷史數據庫(在另一臺服務器上)腳本任務。它在SSIS中使用ADO Connection
。
導入命名空間
Imports System
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Imports System.Math
Imports System.IO
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Windows.Forms
CODE
Public Sub PerformBulkCopy(ByVal tableName As String, ByVal sourceConnection As SqlConnection, ByVal destinationConnection As SqlConnection)
Dim dtSource As DataTable
dtSource = New System.Data.DataTable()
dtSource = GetSourceDataTable(tableName, sourceConnection)
Using sbc As New SqlBulkCopy(destinationConnection)
sbc.DestinationTableName = tableName
sbc.WriteToServer(dtSource)
End Using
End Sub
Public Function GetSourceDataTable(ByVal tableName As String, ByVal sourceConnection As SqlConnection) As DataTable
Dim cmd As New SqlCommand("uspGetDataForAchival")
cmd.Parameters.Add(New SqlParameter("@TableName", tableName))
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = sourceConnection
Dim dap As New SqlDataAdapter(cmd)
Dim ds As New DataSet()
dap.Fill(ds)
Return ds.Tables(0)
End Function
Public Sub Main()
Dim tableName As String = Dts.Variables("User::CurrentTable").Value.ToString()
Dim sourceConnection As SqlConnection
Dim destinationConnection As SqlConnection
Try
' Retrieve the reference to the managed connection'
Dim cmSource As ConnectionManager
cmSource = Dts.Connections("ADOSourceConnection")
sourceConnection = DirectCast(cmSource.AcquireConnection(Dts.Transaction), System.Data.SqlClient.SqlConnection)
Dim cmDestination As ConnectionManager
cmDestination = Dts.Connections("ADOACIConnection")
destinationConnection = DirectCast(cmDestination.AcquireConnection(Dts.Transaction), System.Data.SqlClient.SqlConnection)
Dim destinationConnectionString As String = destinationConnection.ConnectionString
MessageBox.Show(destinationConnectionString)
PerformBulkCopy(tableName, sourceConnection, destinationConnection)
'Release Connection'
cmSource.ReleaseConnection(sourceConnection)
cmDestination.ReleaseConnection(destinationConnection)
'Success'
Dts.TaskResult = Dts.Results.Success
Catch ex As Exception
Dim exceptionVariable As Microsoft.SqlServer.Dts.Runtime.Variables = Nothing
Dts.VariableDispenser.LockOneForWrite("User::ScriptException", exceptionVariable)
exceptionVariable("User::ScriptException").Value = ex.Message
exceptionVariable.Unlock()
Dts.Events.FireError(-1, "Task Name", ex.Message, String.Empty, 0)
Dts.TaskResult = Dts.Results.Failure
End Try
End Sub
相關問題
- 1. 批量插入SQL Server
- 2. SQL Server的批量插入
- 3. 在SQL Server 2005中批量插入?
- 4. 在SQL Server中插入批量記錄
- 5. 批量從Excel插入到SQL Server中
- 6. 從SQL Server中的XML批量插入
- 7. 批量插入到SQL Server 2005中
- 8. 批量插入到SQL Server 2008中
- 9. 使用sql server,asp.net批量插入
- 10. SQL Server 2008:批量插入永久
- 11. SQL Server 2005批量更新或插入
- 12. SQL Server 2005 - 批量插入失敗
- 13. SQL Server 2008:批量插入表
- 14. SQL Server批量插入左連接
- 15. SQL Server 2005的批量插入
- 16. SQL Server批量插入Http文件
- 17. 批量插入SQL Server與LINQ
- 18. 批量插入,SQL Server 2000,unix linebreaks
- 19. SQL Server批量插入事務?
- 20. SQL Server批量插入int到bigint
- 21. Python:批量插入數據到SQL Server
- 22. SQL Server批量插入轉換失敗
- 23. 批量插入到SQL Server 2005問題
- 24. SQL Server的批量插入失敗
- 25. Sql批量插入
- 26. 批量SQL插入
- 27. 批量插入(BCP)到SQL Server VS Sqoop導出到SQL Server
- 28. SQL Server 2008中 - 執行批處理作業和批量插入在T-SQL
- 29. 使用批量插入將文件插入到SQL Server 2008 R2
- 30. 在SQL Server中批量插入多個文件
不幸的是,這並不在我的情況下工作。也許,應提供其他屬性...不確定... – dmitry