请高手指教!
我在ASP中的代码如下:
Set objBCP=Server.CreateObject("SQLDMO.BulkCopy")
Set objDB =objServer.Databases("aaa")
objServer.EnableBcp = True
With objBCP
.ColumnDelimiter = vbTab
.DataFileType = SQLDMODataFile_TabDelimitedChar
.ImportRowsPerBatch = 1000
.MaximumErrorsBeforeAbort = 1
.RowDelimiter = vbCrLf
.ServerBCPDataFileType = SQLDMOBCPDataFile_Char
.UseExistingConnection = True
End With
If Not objDB_bak.DBOption.SelectIntoBulkCopy Then
objDB_bak.DBOption.SelectIntoBulkCopy = True
End If
table="data"
objBCP.DataFilePath ="c:\temp\"&table&".txt"
tmpRows = objDB.Tables(table).ExportData(objBCP) 在此得到的tmpRows总是empty,不知道为什么??
If (tmpRows > 0) Then
此处继续......
......
确定语句正确?
Public Function BCP(ByVal Server As String, ByVal UserName As _
String, ByVal Password As String, ByVal Database As String, _
ByVal Table As String, ByVal FileName As String, _
Optional Import As Boolean) As Boolean
Dim objServer As New SQLDMO.SQLServer
Dim objBCP As New SQLDMO.BulkCopy
Dim objDB As SQLDMO.Database
If Import = True And Dir(FileName) = "" Then Exit Function
On Error GoTo ErrorHandler
objServer.Connect Server, UserName, Password
objServer.EnableBcp = True
Set objDB = objServer.Databases(Database)
With objBCP
.DataFilePath = FileName
Below speeds things up
but does not log the bulk copy operation
comment out if this is not what you
desire
.UseBulkCopyOption = True
End With
If Import Then
objDB.Tables(Table).ImportData objBCP
Else
objDB.Tables(Table).ExportData objBCP
End If
BCP = True
ErrorHandler:
Set objBCP = Nothing
Set objServer = Nothing
End Function
我还有问题就是,你说的这一句可以在程序里用吗?
bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword
这个必须通过存储过程调用外部程序.
或者直接用wsh调用