IMP-00003: 遇到 ORACLE 错误 959
ORA-00959: 表空间'HNFSTS'不存在看错误提示是表空间不存在啊,只要建立表空间“HNFSTS”再次导入应该可以啦

解决方案 »

  1.   

    谢谢
    我依 xujialin_xjl(随风而动) 的说法,翻了半天书终于建好表空间“HNFSTS”(汗吧:))。导入成功了,没报错!后我在sqlserver2000建好链接服务器,链接此Oracle成功,
    在sqlserver查询分析器中可以正确取到数据,
    但运行如下语句select  bfa303 from TESTLINKDB..[SYSTEM].AA33  是报错:服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'MSDAORA' 报错。 
    [OLE/DB provider returned message: 未指定的错误]
    [OLE/DB provider returned message: 发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。]
    [OLE/DB provider returned message: 数据类型不被支持。]
    OLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' IOpenRowset::OpenRowset returned 0x80004005:   ]。AA33表中只有一个字段是BLOB,但我执行的上面那句SQL中, bfa303 字段是 varchar2(),怎么也会报错?我想取出AA33表中的除BLOB类型字段有什么办法解决?
      

  2.   

    insert into table1 from select column1,column2... from table2
      

  3.   

    你要导入的数据库中不存在相应的表空间,由于使用imp是不能自动的创建表空间,所以你要么先把相应的表空间进行导入,要么在导入前在目标数据库上创建相应的表空间,这样就不会报错了。试试看吧
      

  4.   

    现在导入已经解决了!现在的问题是:
    执行SQL时,如果表中含有BLOB类型的字段就报错
    (select 的字段中没包括BLOB类型的字段都报错,如表中没有BLOB类型的字段就没问题)!
      

  5.   

    没办法吧,你不要用 select *,直接指定要select的字段
      

  6.   

    我就是没用 select * 都报错啊只select varchar类型的字段都报错!
      

  7.   

    不要使用MS的oracle驱动,使用oracle自己的驱动就可以了。MsOracle驱动不支持有lob的表
      

  8.   

    提供程序名称选择:Oracle Provider for OLE DB?但这样出现了错误:服务器: 消息 7317,级别 16,状态 1,行 2
    OLE DB 提供程序 'OraOLEDB.Oracle' 返回了无效的架构定义。
    OLE DB 错误跟踪[Non-interface error:  OLE/DB provider returned an invalid schema definition.]。
      

  9.   

    使用MS 的驱动将BLOB类型的字段删除,SELECT 就可以。有没有不用删除字段的方法啊???