SQL Server 2008导入数据向导无法识别列的整数数据

时间:2010-02-03 15:23:24

标签: sql-server import

我有一个带有10个带标题的Excel列表。对于列,我可以将数据设置为“FF5”或620.工作表名称为IODE。

我正在尝试将此数据从SSIS导入数据向导导入到表IODE的数据库中。

在向导中选择源和目标时,当我在“选择源表和视图”窗口中单击“预览数据”时,我看到620的列为null。导入此数据后,该表将具有NULL而不是620。

表中此列的数据类型是nvarchar(50),我尝试了很多数据类型,如varchar(100),text /.../ p>

只接受字母数字数据。

我没有为此编写任何代码..我只是想将数据从excel表导入到表中。

请帮我解决这个问题

由于 RAMM

2 个答案:

答案 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