第一步 安装好oracle客户端,并配置好TNS信息
先配置好oracle的TNS连接信息。这个跟正常情况使用oracle完全一样
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 123.456.176.42)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
第二步,配置odbc信息
配置好odbc连接信息,sql server肯定不能直接调用oracle的客户端去连接的,只能通过odbc的方式间接的去连。
在你平时敲cmd的地方敲入odbc打开下面界面。
你先去driver那地方看下有oracle的driver了不。装好了oracle的客户端的话肯定就会有的。
然后选user DSN,点Add ,选择上一个画面中看到的oracle driver。
出现这页面后,在Data Source Name随便输入一个名字,这个名字就要后面sql server要用到的。TNS Service Name的下拉列表中就是oracle中配置好的TNS信息,如果你开始没有配置的话这里就为空的。你选一个TNS名字后,可以点下test connection验证下看连接上了不。
第三步 在sql server中配置
在前面创建好odbc数据源后就可以在sql server中配置了啊。先打开management studio。在server objects下面有个Linked Servers,选中它并右击new linked server。打开如下页面.在linked server中输入一个名字,随便取的,在后面执行sql时会用到这名字.provider就选Oracle Provider for OLE DB。proct name就填oracle
Data source就是你开始配置odbc时取的名字。其他地方就不用管了.然后再点下Security会弹出另一个页面。
在此页面最下面的地方输入用户名和密码,然后点OK。
接着,你在Linked Servers下面会看到ORA_ARWEN。
注意点:
是在SQL Server服务器所在地方进行配置。(客户端不确定)Oracle的server随便在哪无所谓了,只要你能连接得到就行.然后就是要装好oracle的客户端。
⑵ plsql如何连接oracle数据库
首先去下载oracleclient客户端工具
小编这里已经下载的有了,目录结构如下所示
⑶ 怎样使用sqlplus连接oracle11g数据库
用SQL PLUS可以这么连接:
常用:
sqlplus username/password 如:普通用户登录 sqlplus scott/tiger
sqlplus username/password@net_service_name 如: sqlplus scott/tiger@orcl
sqlplus username/password as sysdba 如:sqlplus sys/admin as sysdba
sqlplus username/password@//host:port/sid
注意:sys和system需要以sysdba登录
在进入sql*plus之后,可以使用conn连接到其他用户,如:conn sys/admin as sysdba
在DOS环境下,输入“sqlplus /?”,如下:
C:Documents and SettingsHH>sqlplus /?
SQL*Plus: Release 11.2.0.1.0 Proction on 星期六 8月 13 16:56:46 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL*Plus: Release 11.2.0.1.0 Proction
Copyright (c) 1982, 2010, Oracle. All rights reserved.
使用 SQL*Plus 执行 SQL, PL/SQL 和 SQL*Plus 语句。
用法 1: sqlplus -H | -V
-H 显示 SQL*Plus 版本和用法帮助。
-V 显示 SQL*Plus 版本。
用法 2: sqlplus [ [<option>] [{logon | /nolog}] [<start>] ]
<option> 为: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]
-C <version> 将受影响的命令的兼容性设置为<version> 指定的版本。该版本具有"x.y[.z]" 格式。例如, -C 10.2.0
-L 只尝试登录一次, 而不是 在出错时再次提示。
-M "<options>" 设置输出的自动 HTML 标记。选项的格式为:
HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text][ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
-R <level> 设置受限模式, 以禁用与文件系统交互的SQL*Plus 命令。级别可以是 1, 2 或 3。最高限制级别为 -R 3, 该级别禁用与文件系统交互的所有用户命令。
-S 设置无提示模式, 该模式隐藏命令的 SQL*Plus 标帜, 提示和回显 的显示。
<logon> 为: {<username>[/<password>][@<connect_identifier>] | / }[AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]
指定数据库帐户用户名, 口令和数据库连接的连接标识符。如果没有连接标识符, SQL*Plus 将连接到默认数据库。
AS SYSDBA, AS SYSOPER 和 AS SYSASM 选项是数据库管理权限。
<connect_identifier> 的形式可以是 Net 服务名或轻松连接。
@[<net_service_name> | [//]Host[:Port]/<service_name>]
<net_service_name> 是服务的简单名称, 它解析为连接描述符。
示例: 使用 Net 服务名连接到数据库, 且数据库 Net 服务名为 ORCL。
sqlplus myusername/mypassword@ORCL
Host 指定数据库服务器计算机的主机名或 IP地址。
Port 指定数据库服务器上的监听端口。
<service_name> 指定要访问的数据库的服务名。
示例: 使用轻松连接连接到数据库, 且服务名为 ORCL。
sqlplus myusername/mypassword@Host/ORCL
/NOLOG 选项可启动 SQL*Plus 而不连接到数据库。
EDITION 指定会话版本的值。
<start> 为: @<URL>|<filename>[.<ext>] [<parameter> ...]
使用将分配给脚本中的替代变量的指定参数从 Web 服务器 (URL) 或本地文件系统 (filename.ext)运行指定的 SQL*Plus 脚本。
在启动 SQL*Plus 并且执行 CONNECT 命令后, 将运行站点概要文件 (例如, $ORACLE_HOME/sqlplus/admin/glogin.sql) 和用户概要文件例如, 工作目录中的 login.sql)。
⑷ 如何用语句将SQL数据导入到到ORACLE求解
方法1:你可以在oracle上安装透明网关的方式来连接到sql server,然后就可以相当于访问oracle表那样来操作了.
方法2:在SQL server上将那表的数据导出文本,然后在oracle上建立新表,然后将该文本内容导进oracle的新表,然后再用sql语句处理这个oracle上的新表的内容到oracle目的表里面去.
⑸ 在sqlserver中 与oracle的表连接查询
在我们使用SQL Server数据库的过程中,有时需要将SQL Server数据导出,导入到其他的数据库中,比如导入到Oracle中。
假设要将SQL Server中的Northwind数据库中的Procts表导出到Oracle的Scott用户
首先需要有安装SQL Server企业版
1.打开工具:
开始->程序->
导入和SQL Server数据导出数据
2.下一步,选择数据源
[数据源]选择“用于SQL Server的Microsoft OLE DB提供程序”,这应该是缺省值。
[服务器]选择要导出数据的服务器,如果是本机,选择(local)
[数据库]选择要导出的数据所在的库,这里选择Northwind
3.下一步,选择目的
[目的]选择Microsoft ODBC for Oracle
[DSN]选择用户/系统DSN一项,然后在下拉列表框中找一个已经连接到了Scott用户的DSN名称。
如果下拉列表中没有,点下拉列表框右侧的[新建],出现创建新数据源界面。
接下来选择系统数据源,下一步,在驱动程序列表中选择Microsoft ODBC for Oracle
下一步,完成,出现Microsoft ODBC for Oracle安装界面
[数据源名称]随便输入,比如sss
[说明]可以不填
[用户名称]填入要SQL Server数据导出到的Oracle用户名称,这里是scott
[服务器]填入要连接到Oracle服务器所使用的服务名,比方说使用sqlplus scott/tiger@server1可以连接到数据库,那么这里就填入server1。如果本机就是服务器,使用sqlplus scott/tiger即可连接到数据库,这里空着不填即可。
这样就创建好了一个数据源sss,保证下拉列表框中选择了sss一项。
[用户名]填入SQL Server数据导出到的Oracle用户名称,这里是scott
[密码]填入SQL Server数据导出到的Oracle用户使用的密码,这里是tiger
4.下一步,指定表复制或查询
如果要导出的内容是整个表,选择[从源数据库复制表和视图]
如果要导出的内容是表的一部分列,行,可以选择[用一条查询指定要传输的数据],这时需要写出一个查询语句
这里选择第一项[从源数据库复制表和视图]
5.下一步,选择源表和视图
点中要导出的表Procts一行的复选框,目的、转换两栏就会出现内容。
目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的SQL语句
6.下一步,保存、调度和复制包
选中立即运行
7.下一步,正在完成DTS导入/导出向导
8.完成
提示“成功地将n个表从Microsoft SQLServer复制到了Oracle”
9.完成,关闭导入导出程序
注意:因为oracle的表名都是大写的,而SQL的表可能是大小混写的,所以导入后在oracle里查不到该表,比如这个Procts表在oracle里查询就应该写成select * from scott."Procts";为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。
---导完数据后执行下面语句,生成把表名修改成大写的操作
select 'ALTER TABLE '||'"'||table_name||'"'||' RENAME TO '|| upper(table_name)||';' from user_tab_comments;
把生成的文件执行即可把此用户下的所有表名修改成大写。
⑹ plsql连接ORacle数据库时报:因目标主机或对象不存在,连接失败。怎样解决
plsql连接oracle报:因目标主机或对象不存在,连接失败。一般是tnsnames.ora文件中填写的服务器配置不正确导致。
工具:oracle 10g
步骤:
1、找到客户端安装路径下的~oracle_homeproct10.2.0db_1 etworkADMIN路径,并找到tnsnames.ora文件:
4、填写正确后,就可以正常登陆了。
⑺ 怎么用linux命令连接racle数据库
可以通过SSH或者SecureCRTPortable等可以直接连接Linux操作系统的软件,连接到Linux系统。下面具体介绍一下:
1、登录到Linux后,就可以在命令窗口直接对Linux进行操作了。先将用户切换到Oracle。当显示为[oracle@db ~]$ 时,说明切换成功。命令:su - oracle;
2、切换到Oracle用户之后,我们登录到到sqlplus,使用dba权限登录到sqlplus。在sqlplus中,我们使用conn连接一下我们具体想要操作的数据库用户。命令:conn username/password,示connected表示连接成功;
3、在SQL>中输入想要进行操作的sql语句,这里我们举个简单的例子,以一个单表查询为例进行演示:sql语句:select * from tablename。
(7)sql语句连接oracle数据扩展阅读:
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
参考资料:Linux-网络
⑻ sql连接oracle后执行sql语句出错
执行顺序和数据库有关,不同的数据库有不同的解析顺序。
oracle是从后往前解析的,也就是先解析and后面的。
但是在调优上,oracle版本是基于cbo规则的(比如10g)就可以不考虑and的先后顺序调优,如果是基于rbo规则(比如8i),调整and的先后顺序可以达到优化的效果。