SELECT * INTO [dbo].[T1] FROM OPENDATASOURCE
('OraOLEDB.Oracle','data source=abc; user id=system;password=sys123')..system.T1错误提示:
OLE DB 提供程序 'OraOLEDB.Oracle' 不包含表 '"system"."T1"'。该表可能不存在,或当前用户没有使用该表的权限。
--可是我用的是SYSTEM用户建T1呀。如果是
SELECT * INTO [dbo].[T1] FROM openrowset
('OraOLEDB.Oracle','data source=abc;uid=system;password=sys123;','select * from system.T1')
错误提示:
OLE DB 提供程序 'OraOLEDB.Oracle' 报错。
[OLE/DB provider returned message: ORA-01017: ΞЧ�ēû�û/�ځ�ܾ��ǂ�]--不知道是什么原因,用过ORACLE 的高手帮忙呀。
('OraOLEDB.Oracle','data source=abc; user id=system;password=sys123')..system.T1错误提示:
OLE DB 提供程序 'OraOLEDB.Oracle' 不包含表 '"system"."T1"'。该表可能不存在,或当前用户没有使用该表的权限。
--可是我用的是SYSTEM用户建T1呀。如果是
SELECT * INTO [dbo].[T1] FROM openrowset
('OraOLEDB.Oracle','data source=abc;uid=system;password=sys123;','select * from system.T1')
错误提示:
OLE DB 提供程序 'OraOLEDB.Oracle' 报错。
[OLE/DB provider returned message: ORA-01017: ΞЧ�ēû�û/�ځ�ܾ��ǂ�]--不知道是什么原因,用过ORACLE 的高手帮忙呀。
要不随便建个.udl的文件,测试以下能连上Oracle不
用DTS可以连上。只是看不见T1这个表,可是这个表我已经建了,还加了两条数据,在SQL/plus
中也能查询出来。建完后,我用ADOX看他的属性是SYSTEM TABLE ,不知道是不是这个原因。
是不是建的表不属于同一个用户?
你可以在oracle里面重建着长表试试看!
估计是oracle里面的权限问题
你在oracle里面用你这个账号登陆
分别用
connect uid/pwd;
和
connect uid/pwd as sysdba;然后
desc t1;
试试看能不能找到表T1
同时,也能看到很多系统表,由于是用SYSTEM建的表,
所有表的属性是SYSTEM TABLE 只是传输的过程中出错。
用 liuningxy(想你)的方法,在DTS中传了一下,
不能发现我建的表,但是能传别的表。实在是不知道是哪里的错了。
('MSDAORA,'data source=abc;uid=system;password=sys123','select * from system.T1')-----------------
Provider改成 'MSDAORA' 是ORACLE的连接,Oracle库中有system这个库吗?
语法是 select * from 库名.用户名.表名
正在测试Softlee81307(孔腎) 的方法。
不过原来我也用过
msdaora 不行才用的OraOLEDB.Oracle
('MSDAORA','data source=abc;uid=system;password=sys123','select * from abc.system.T1')错误提示OLE DB 提供程序 'MSDAORA' 报错。
[OLE/DB provider returned message: ORA-12560: TNS: 协议适配器错误]我哭。
可以考虑使用链接服务器来进行数据的操作--创建链接服务器
EXEC sp_addlinkedserver '链接名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=链接服务器名;UID=sa;PWD=密码;'
EXEC sp_addlinkedsrvlogin '链接名', 'false', NULL, 'sa', '密码'
--执行语句
insert into 链接名.数据库名.dbo.表名 select * from 表名
--删除链接服务器
exec sp_droplinkedsrvlogin '链接名',null
exec sp_dropserver '链接名'
如果要用列子如下:
select * from openrowset
('SQLOLEDB','192.168.1.11';'sa';'samima',MyTable.dbo.uuu2) --SQLOLEDB注意使用这个参数
SELECT * INTO [dbo].[T1] FROM openrowset
('OraOLEDB.Oracle','data source=abc;uid=system;password=sys123;','select * from abc.system.T1')报错:
OLE DB 提供程序 'OraOLEDB.Oracle' 报错。
[OLE/DB provider returned message: ORA-01017: ΞЧ�ēû�û/�ځ�ܾ��ǂ�]
我用:
SELECT * INTO DR$PARAMETER FROM openrowset
('SQLOLEDB','data source=192.168.1.133;uid=system;password=sys123','select * from abc.system.DR$PARAMETER')
提示
用户 'system' 登录失败。
可是密码就是:sys123
select * from user_tables where table_name="t1"
看有没有数据。
了呀。
在SQL Server 7.0中,使用链接的服务器连接到Oracle. 如: sp_addlinkedserver 'TESTLINK', 'Oracle', 'MSDAORA', 'OracleServer', ps. 'TESTLINK'是由您自定义的,'Oracle', 'MSDAORA'是固定的,'OracleServer'是由步骤1确定的。
在SQL Server 7.0中,使用addlinkedsrvlogin登录到Oracle. 如: sp_addlinkedsrvlogin 'TESTLINK', 'false', NULL,'OracleUsr', 'OraclePwd' ps. 'TESTLINK'是步骤2确定的,'OracleUsr'是Oracle用户名,'OraclePwd'是用户密码。
执行T-SQL语句。如: select * from .... ps.linkservername是步骤2确定的。