
若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了。不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置。
第二种情况:
本机未安装oracle服务器,也未安装oracle客户端。但是安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以pl sql development远程连接ORACLE服务端数据库为例:
1、在安装oracle服务器的机器上搜索下列文件:
ocidll
ocijdbc10dll
ociw32dll
orannzsbb10dll
oraocci10dll
oraociei10dll
sqlnetora
tnsnamesora
classes12jar
ojdbc14jar
把这些找到的文件复制放到一个文件夹,如 oraclient,将此文件夹复制到客户端机器上。如放置路径为 D:oraclient。
2、配置tnsnamesora,修改其中的数据库连接串。
oracledata = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192168058)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = oracledata) )
其中,oracledata是要连接的服务名;HOST = 192168058,是服务器IP地址;PORT = 1521是端口号。
3、添加第一个环境变量,名为TNS_ADMIN,值为tnsnamesora文件所在路径(如:D:oraclient,特别是重装后或其它 *** 作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnamesora。这步是最重要的。
添加第二个环境变量(可有可无):“NLS_LANG = SIMPLIFIED CHINESE_CHINAZHS16GBK”,(AMERICAN_AMERICAUS7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)(本步骤暂时要做对,如果编码不对,会产生乱码)。
4、下载并安装PL SQL Developer配置应用:
打开PL SQL Developer,登入界面点取消,进入后选择菜单栏 tools->preferences->connection :
Oracle Home=D:oracleclient OCI library=D:oracleclientocidll
5、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
第三种情况:
本机未安装ORACLE服务器,但是安装了oracle客户端,也安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以pl sql development远程连接oracle服务端数据库为例:
1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
2、其他步骤与第二种情况中的2---5相同。
第四种情况:
本机未安装oracle服务器,也未安装pl sql development、toad sql development、sql navigator等管理数据库的工具,但是安装了oracle客户端。在虚拟机或者另一台电脑上安装了ORACLE服务器,也就是虚拟机或者另一台电脑此时作为服务器。
这种情况下,本人以oracle客户端中的sqlplus远程连接oracle服务端数据库为例:
1、打开oracle客户端中的net manager,配置要远程连接的数据库名、IP地址等,如果net manager中没有要远程连接的数据库名,则新建即可。
2、同第二种情况中的步骤二。
3、同第二种情况中的步骤三。
4、打开sqlplus:
(1)如果用sys用户登入,则用户名:sys 密码:xxxxxx 主机字符串:要连接的数据库名 as sysdba,登入即可。
(2)如果用其他用户登入,则用户名:xxx 密码:xxxxxx 主机字符串:要连接的数据库名,登入即可。
注意事项:
1、服务器端和客户端防火墙需要关闭;
2、我们经常会遇到***服务无法启动,那么需要打开Net Configuration Assistant修复,或者新建***服务。
3、数据库密码如果忘了怎么办?按照以下方法修改密码即可:
开始-->运行-->cmd
输入 :sqlplus /nolog 回车
输入 :connect / as sysdba 回车
用户解锁 : alter user system account unlock 回车
修改密码:alter user system identified by manager
4、怎样判断数据库是运行在归档模式下还是运行在非归档模式下?
进入dbastudio,历程--〉数据库---〉归档查看。
5、另外,如果本机和别的机子均安装了oracle服务器端,那么本机如果要连接别的机子,就必须修改tnsnamesora客户端链接到服务器端,在客户端登陆页面sqlplus,输入数据库用户名,口令,以及主机字符串就OK,如果服务器是另一台主机,主机字符串为:服务器IP地址<oracle要求服务器ip为固定的ip>+ "/" + oracle_sid名;oracle_sid名是oracle数据库的实例名,在tnsnameora文件中可以查看,listenerora文件中记录着数据库服务,允许客户端链接服务器,建议楼主用PL/SQL工具,它对于oracle数据库的开发,维护都是非常方便的!本地机器tnsnamesora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fuqiang)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
SERVICEORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
服务器tnsnamesora
SERVICEORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器名称)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
VS中连接代码:
C# code
OracleConnection oracleConnection = new OracleConnection("Data Source=;User ID=system;Password=manager;Unicode=True");
这样写连接字符串,可以连接到本地orcl这个实例,没有问题。但是想连接到服务器上的orcl实例,该如何写连接字符串,其它地方都一样吧,只是Data Source要怎么写?
------回答---------
------其他回答(90分)---------
本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。
------其他回答(5分)---------
把你QQ告诉我,我连过去给你看一下。
------其他回答(5分)---------
引用 9 楼 sorry0481 的回复:
又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:
ServerVersion “((SystemDataCommonDbConnection)(oracleConnection))ServerVersion”引发了“SystemInvalidOperationException”类型的异常 string {SystemInvalidOperationException}
分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊。。。
------回答---------
------其他回答(90分)---------
本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。
------其他回答(5分)---------
把你QQ告诉我,我连过去给你看一下。
------其他回答(5分)---------
引用 9 楼 sorry0481 的回复:
又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:
ServerVersion “((SystemDataCommonDbConnection)(oracleConnection))ServerVersion”引发了“SystemInvalidOperationException”类型的异常 string {SystemInvalidOperationException}
分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊SQL SERVER连接oracle数据库几种方法
--1 方式
--查询oracle数据库中的表
SELECT
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN'
)DAIMINJOBS
--在sqlserver中创建与oracle数据库中的表同名的表
select into JOBS from
OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User
ID=daimin;Password=daimin'
)DAIMINJOBS
select from JOBS
--2、方式
--在master数据库中查看已经存在的链接服务器
select from sysservers
EXEC sp_addlinkedserver
@server = 'GE160',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'
--要在企业管理器内指定登录帐号
exec sp_dropserver GE160
select from GE160DAIMINJOBS
delete from GE160DAIMINJOBS
--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。
SELECT
FROM OPENQUERY(GE160, 'SELECT FROM DAIMINJOBS')
--3、方式
SELECT a
FROM OPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMINJOBS) AS a
ORDER BY aJOB_ID
--4、方式 ODBC
--ODBC方式比较好办
SELECT A
FROM
OPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是数据源名
DAIMINJOBS) AS
A
ORDER BY AJOB_ID工具/原料
SQLSERVER数据库
企业管理器]链接服务器
方法/步骤
1
步骤1:打开企业管理器,如下。
2
步骤2:选择数据库,安全性,点击新建链接服务器。
3
步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。
4
步骤4:进行安全性设置。本地登录,选择SQLServer数据库登录用户,远程登录用户和密码,输入远程连接数据库的用户和密码,选择用此安全上下文进行,输入远程登录用户和密码。
5
步骤5:点击TEST链接服务器下的表,我们可以访问ORACLE数据库的表了。
注意:产品名称要和所链接的服务器相对应,使用ORACLE数据库就要输入ORACLE,使用SQLServer就输入SQLServer。先从安装了Oracle的数据库服务器中,找到Oracle安装目录,然后将该目录下的jdbc\lib\classes12jar文件拷贝到WEB发布服务器的某个目录。假设就直接放在C:\根目录下吧,然后把该路径添加到系统--高级--环境变量中变量名为CLASSPATH的值中,如:
D:\Program Files\SQLLIB\java\db2javazip;D:\Program Files\SQLLIB\java\runtimezip;c:classes12jar; 也就是让java能够找到这个包。
1注册加载驱动:
驱动名:DRIVER="oraclejdbcdriverOracleDriver";
ClassforName("驱动类名");
2获得连接:
数据库地址: URL="jdbc:oracle:thin:@127001:1521:ORCL";
Connection conn = DriverManagergetConnection(数据库地址,用户名,密码);
Systemoutprintln("连接成功");
3创建Statement对象:
Statement 类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament = connectioncreateStatement(); 具体示例创建Statement对象
Statement statamentMySQL =connectMySQLcreateStatement();
1、找到PL/SQL Developer程序的启动快捷方式。
2、我们双击桌面快捷方式,出现界面的对话框。
3、安装oracle client之后,我们到oracle client的安装目录下,进入到network/ADMIN目录下,看到有个tnsnamesora文件。
4、打开这个文件进行编辑。
5、编辑完这个文件后保存,我们再次双击PL/SQL Developer程序,我们看到我们这个时候可以选择database。
6、确定之后,返回了一个对话框,ORA-12541。这个表示oracle服务器上没有打开监听。
7、我们连接到这台服务器上,切换到oracle用户,使用下面命令查看下监听状态。
8、我们在使用如下图所示打开监听。
9、打开监听后,我们在返回本地机器,再次启动填写信息后,点击确定进行连接。如果连接成功的话,会出现如下图所示。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)