sorry 没输入完就发出去了.1.把一个表从sql server导入到oracle可以用sql server的dts工具.操作起来还是比较方便.2.如果你有应用程序的话,也可以在应用程序中从sq查询然后将得到的结果插入到oracle库.3.在sql server上建一个联结服务器: 打开企业管理器\安全性\联结服务器\右键"新建连接服务器...." 输入联结名,如TEST 提供程序名称:microsoft OLE DB Provider for Oracle 数据源:你的oracle的SID 安全性面板中选择"用此上下文进行登陆",输入登陆oracle的用户名和登陆密码. 服务器选项面板中选中至少"数据访问" 确定--在sql server的查询分析器中: select * from 联结服务器名..owner.表名 select * from TEST..APP.TABLENAME <-----要用大写 insert into TEST..APP.TABLENAME VALUES(....)
谢谢楼上的DINYA2003(OK): select * from TEST..APP.MENU 提示:服务器: 消息 7314,级别 16,状态 1,行 1 OLE DB 提供程序 'TEST' 不包含表 '"OWNER"."MENU"'。该表可能不存在,或当前用户没有使用该表的权限。 这是怎么回事?能再帮帮忙吗?
在oracle中 select count(*) from all_tables a where a.owner='APP' and a.table_name ='MENU'看看是不是返回1?
MENU表是确切存在的,以为我在TEST连接服务器中可以看到它
select count(1) from all_tables a where a.owner='APP' ; 返回0 select count(1) from all_tables a where a.table_name ='MENU'; 返回1 什么问题啊?
--在oracle中查询 select a.owner from all_table a where a.table_name='MENU' 把得到的数据替换上面的APP--在sql server查询分析器中:select * from TEST..你查询得到的.MENU
非常感谢DINYA2003(OK) 问题已经解决了, select owner from all_tables a where a.table_name='MENU' OWNER ________ gxdbo_________ select * from TEST..GXDBO.MENU; 就行了,再次谢谢。 结贴。
2.如果你有应用程序的话,也可以在应用程序中从sq查询然后
打开企业管理器\安全性\联结服务器\右键"新建连接服务器...."
输入联结名,如TEST
提供程序名称:microsoft OLE DB Provider for Oracle
数据源:你的oracle的SID
安全性面板中选择"用此上下文进行登陆",输入登陆oracle的用户名和登陆密码.
服务器选项面板中选中至少"数据访问"
确定--在sql server的查询分析器中:
select * from 联结服务器名..owner.表名
select * from TEST..APP.TABLENAME <-----要用大写
insert into TEST..APP.TABLENAME VALUES(....)
select * from TEST..APP.MENU
提示:服务器: 消息 7314,级别 16,状态 1,行 1
OLE DB 提供程序 'TEST' 不包含表 '"OWNER"."MENU"'。该表可能不存在,或当前用户没有使用该表的权限。
这是怎么回事?能再帮帮忙吗?
返回0
select count(1) from all_tables a where a.table_name ='MENU';
返回1
什么问题啊?
select a.owner from all_table a where a.table_name='MENU'
把得到的数据替换上面的APP--在sql server查询分析器中:select * from TEST..你查询得到的.MENU
问题已经解决了,
select owner from all_tables a where a.table_name='MENU'
OWNER
________
gxdbo_________
select * from TEST..GXDBO.MENU;
就行了,再次谢谢。
结贴。