我有一个带有10个带标题的Excel列表。对于列,我可以将数据设置为“FF5”或620.工作表名称为IODE。
我正在尝试将此数据从SSIS导入数据向导导入到表IODE的数据库中。
在向导中选择源和目标时,当我在“选择源表和视图”窗口中单击“预览数据”时,我看到620的列为null。导入此数据后,该表将具有NULL而不是620。
表中此列的数据类型是nvarchar(50),我尝试了很多数据类型,如varchar(100),text /.../ p>
只接受字母数字数据。
我没有为此编写任何代码..我只是想将数据从excel表导入到表中。
请帮我解决这个问题
由于 RAMM
答案 0 :(得分:0)
你的意思是你有FF5或620作为该列的值意味着你有一个或另一个没有别的或者该列中还有空白字段吗?
答案 1 :(得分:0)
我尝试使用VB6.0中的Excel库引用来阅读excel。
当数据导出到SQL表时,SSIS导入向导将NUMERIC视为NULL。
此过程适用于数据插入以及其他数据库操作。
Private Sub AccessExcelData() On Error GoTo errHandler
Dim oXLApp作为Excel.Application'Declare对象变量
Dim oXLBook As Excel.Workbook
Dim oXLSheet As Excel.worksheet
Dim strFileName As String
Dim lCount As Long
Dim strSCDName As String
Dim strICDName As String
Dim intSource_Index As Integer
Dim strInput_Port As String
Dim strLabel As String
Dim strSDI_CID As String
Dim intWordBitNO As Integer
Dim strFilter_Type As String
Dim strPgroup_Input As String
Dim strParagraph_Input As String
Dim strSQL As String Dim sConnString As String
Dim cnTest As New ADODB.Connection
Dim rsTempRecordset As New ADODB.Recordset
Dim objDataAccess As New FmmtDataAccess.clsDataAccess
Dim strxmlResult As String
objDataAccess.Intialize ConString
strFileName = App.Path& “\ IODE.xls”
sConnString =“Server = uasql \ commonsql; Database = accounts; Driver = SQL Server; Trusted_Connection = Yes; DSN = uasql \ commonsql”
使用cnTest
.ConnectionString = sConnString
.ConnectionTimeout = 4
.CursorLocation = adUseClient
。开
'创建excel表的一部分。
设置oXLApp = CreateObject(“Excel.Application”)
'创建一个新的Excel实例
oXLApp.Visible = False
'不要把它展示给用户
设置oXLBook = oXLApp.Workbooks.Open(strFileName)'打开现有工作簿
设置oXLSheet = oXLBook.Worksheets(1)'使用第一个工作表oXLSheet.Activate
使用oXLApp
对于lCount = 2到oXLSheet.UsedRange.Rows.Count
strSCDName = .Cells(lCount,1).Value
strICDName = .Cells(lCount,2).Value
intSource_Index = .Cells(lCount,3).Value
strInput_Port = .Cells(lCount,4).Value
strLabel = .Cells(lCount,5).Value
strSDI_CID = .Cells(lCount,6).Value
intWordBitNO = .Cells(lCount,7).Value
strFilter_Type = .Cells(lCount,8).Value
strPgroup_Input = .Cells(lCount,9).Value
strParagraph_Input = .Cells(lCount,10).Value
'strSQL =“插入XYX()值(strSCDName .....)这里可以使用任何与DB相关的查询
rsTempRecordset.Open strSQL,cnTest,adOpenForwardOnly,adLockReadOnly Next
以。结束
'关闭excel表的一部分。
oXLApp.Visible = False'Donot显示给用户
设置oXLSheet = Nothing'断开所有Excel对象(让用户接管)
oXLBook.Close SaveChanges:= False'保存(并断开)工作簿
设置oXLBook =无
oXLApp.Quit'关闭(并断开连接)Excel
设置oXLApp =无
退出SuberrHandler:
MsgBox Err.Description
Screen.MousePointer = vbNormalEnd Sub
使用此过程可以从vb applicatoin中读取excel记录,并可以将其插入到SQL数据库的现有表中。 谢谢 RAMM