我用以下sql语句测试:
insert into 用户表@pubslink
(用户ID,用户名,职位)
select * from 用户表@wbpubslink
但是出错:insert into 用户表@pubslink
*
ERROR 位于第 1 行:
ORA-28500: 连接 ORACLE 到非 Oracle 系统时返回此信息:
[Transparent gateway for MSSQL][A047] Syntax error at line 1 position 115 near
"!" (one of follows was expected: ) in SQL "INSERT INTO "用户表"
("用户ID","用户名","职位") SELECT A2."用户ID",A2."用户名",A2."职位" FROM
"用户表"@WBPUBSLINK! A2"
ORA-02063: 紧接着2 lines(源于PUBSLINK)
-------------------------------------------------
请高手指定是何原因,或者这样的问题怎样实现!

解决方案 »

  1.   

    猜想:是不是SQL语句中的dblink名称书写错误?你是批量导入吗?若不是,则可能考虑在本机上建一中间临时表,作为中转进行远程数据库建表的数据源。若是,且数据量较大,则应考虑重新方案。
      

  2.   

    dblink无误!
    是批量导入,这种方法有什么不妥之处?
    如果自己在程序中查找记录再插入另一表中,不知和这种方法相比,那个效率高一些?
      

  3.   

    oracle建立了两个sql server链接????学习,请楼主举个例子教教我
      

  4.   

    如果数数据链没错的话
    insert into 用户表@pubslink(用户ID,用户名,职位)
    select 用户ID,用户名,职位 from 用户表@wbpubslink
    应该可以
      

  5.   

    create table t_test as select 用户ID,用户名,职位 from 用户表@wbpubslink;
    commit;
    insert into 用户表@pubslink(用户ID,用户名,职位)select 用户ID,用户名,职位 from t_test ;
    commit;
    你试试