本帖最后由 roboth_staff 于 2009-07-06 11:49:23 编辑

解决方案 »

  1.   

    SQLState = 22005, NativeError = 0
    Error = [Microsoft][ODBC SQL Server Driver]对于造型说明无效的字符值
      

  2.   

    你这样做是不对的。
    bcd会把你吃进去的每一行都放在一列里面。
    你需要先吃进一张临时表,然后再通过空格分割。
      

  3.   


    Create Table #TempProcessFile
    (iRows nvarchar(600))
    Declare @iSQL
    Set @iSQL='bcp "DBName.dbo.TableName" In "文件路径" -c -S"IP" -U"sa" -P"sa ---表名为你需要将文档吃进数据ude临时表,这个表在这里只是做为临时处理用的
    print @iSQL
    Insert Into #TempProcessFile
    EXEC master..xp_cmdshell @iSQL
    If Exists (Select * from #TempProcessFile where iRows like '%rows copied%' and iRows!='0 rows copied.')--这里说明文档已经吃进去
    Begin
        if exists(select top 1 0 from TableName)---说明文档中有数据
        begin
            insert into TB---最终获得数据的表名
            select substring()---从这里开始你就数你数据中的空格,分条插入
            ...... from TableName
            --接下来我就不写了你自己努力下吧。
        end
    End
      

  4.   


    Create Table #TempProcessFile
        (iRows nvarchar(600))
    Declare @iSQL
    Set @iSQL='bcp "DBName.dbo.TableName" In "文件路径" -c -S"IP" -U"sa" -P"sa' ---表名为你需要将文档吃进数据ude临时表,这个表在这里只是做为临时处理用的
    print @iSQL
    Insert Into #TempProcessFile
    EXEC master..xp_cmdshell @iSQL
    If Exists (Select * from #TempProcessFile where iRows like '%rows copied%' and iRows!='0 rows copied.')--这里说明文档已经吃进去
    Begin
        if exists(select top 1 0 from TableName)---说明文档中有数据
        begin
            insert into TB---最终获得数据的表名
            select substring()---从这里开始你就数你数据中的空格,分条插入
            ...... from TableName
            --接下来我就不写了你自己努力下吧。
        end
    End