如何创建自己的InstantClient包

如何创建自己的InstantClient包,第1张

对于使用过SQL Server数据库的用户可以会对Oracle中的数据库的实例的概念理解的不是很好,所以我产生了写一篇博文的想法。

基础概念

一般Oracle数据库(Oracle Database)可以分为两部分,即实例(Instance)和数据库(Database)。

实例:是一个非固定的、基于内存的基本进程与内存结构。当服务器关闭后,实例也就不存在了。

数据库(Database)指的是固定的、基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等。

一般情况下,Oracle数据库都是一个数据库对应一个实例。

当然可以根据需要创建多个数据库和对应的多个实例。

工具/原料

测试环境 Windows 7 旗舰版,32位 *** 作系统,已经安装Oracle 11g R2,并创建一个数据库和实例ORAC11

创建新的数据库及对应的实例

打开Database Configuration Assistant

方法/步骤

1

选择 *** 作

2

数据库模板

3

数据库标识

管理选项 配置

管理选项 维护

数据库所在位置

恢复配置

数据库内容

初始化参数

数据库存储

创建选项

确认完成

此警告页面不用管,后面可以重新配置。

连接不同的数据库实例

将2个数据库对应的实例都启动起来。

链接 ORAC11

cmd

SQLPLUS SYS/SYS@ORAC11  AS SYSDBA

连接 ORAC111

cmd

SQLPLUS SYS/SYS1@ORAC111 AS SYSDBA

一切 正常。

新版本
Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;
旧版本
Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServerworld;Uid=myUsername;Pwd=myPassword;
OLE DB, OleDbConnection (NET)
标准连接
此连接字符串适用了微软的驱动。
Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
受信连接
Provider=msdaora;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;
标准连接
由Oracle提供的驱动。
Provider=OraOLEDBOracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
受信连接
Provider=OraOLEDBOracle;Data Source=MyOracleDB;OSAuthent=1;
OracleDataAccessClientOracleConnection
Data Source=TORCL;User Id=myUsername;Password=myPassword;
标准安全连接
Data Source=TORCL;Integrated Security=SSPI;
使用ODPNET而不使用tnsnamesora
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
OracleConnection, Oracle Data Provider, ODPNET, SystemDataOracleClientOracleConnection
标准
Data Source=MyOracleDB;Integrated Security=yes;
用于8i RC3及以后的版本
指定用户名和密码
Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;
用于8i RC3及以后的版本
忽略tnsnamesora
另一种不需要使用DSN的连接方式。
SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=myUsername;pwd=myPassword;
使用上面的连接字符串可能会导致Visual Studio报告错误,如果您在使用中出现了这些问题,请使用下面的这种连接方式。
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
使用连接池
如果连接池服务程序找不到已经存在的连接池,它将根据连接字符串创建一个新的池,否则将循环使用池中已存在的连接。
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;
Windows身份验证
Data Source=myOracleDB;User Id=/;
特权连接
使用SYSDBA
Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSDBA;
特权连接
使用SYSOPER
Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSOPER;
复制
密码过期处理过程
当使用一个连接字符串连接数据库后,出现“密码已过期”的错误时,请执行OpenWithNewPassword命令来提供新密码。
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;
oConnOpenWithNewPassword(sTheNewPassword);
Proxy验证
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;Proxy User Id=pUserId;Proxy Password=pPassword;
Core Labs OraDirect (NET)
User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
MS Data Shape
Provider=MSDataShape1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=myUsername;Password=myPassword;

数据库按适用性来分的话。可分为:1 通用数据库, (sqlserver , mysql ,oracle )2 专用数据库(terrdata 专用 大型数分析的 ,其它专用于olap 数据处理。 )
按数据规模大小来分。可分为:1 桌面型。(foxbase access , )2 服务器型 sqlserver orac 等。
按支持事务化分,1 事务型。2 非事务型。(专用于网站优化的mysql)
存取数据。1 访问量小,可能全丢掉。access 。
2 访问量大,但永许丢少量数据。mysql iasm引
3 sqlserver mysql 企业数据库,oracle db2 等,能保证高可靠性。高安全性。高事务量。
4 过了几年,公司数据库不小了。我要把他们全导出来。集合到一个数据仓库来。这些历史数据修改少,查询任务就另独立出来。
5 双过了几年,不同部门,分公司的数据又多了,这些历史数据中,隐藏着商业规律,已经具用深入分析的价值。我要上bi 了。
按生产阶段化分:生产数据库,数据仓库,商业智能数据库
1 生产数据库 ,你见到的普通应用,都可能是生产库,“考勤软件用到了access , 公司进销存用到了sql 或者是 ora” 等。这一系列库的共同点是,修改多(事务多),需要快速完成。小规规查询多。多用sql语言,是关系数据库
连接字符中中的超时不超过几十秒,你做一个 *** 作,超时了返回错误。
Data Source=xxxx;Initial Catalog=xxxxx;Integrated Security=True;Connect Timeout=45
2 数据仓库,商业智能数据库 一般库结构不是关系结构。查询语言也不同于sql ,查询时间可能要一个晚上。
数据库领域也是高科技了,几家大公司也是每天概念,术语不停的出,究竟客户能得多少利,鬼也不知道。好多都是忽悠人的罢了。
新出来的nosql究竟是什么的。什么情况下适用。
以上是我的了解。半路出家,错误大家提出来。不要喷。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13459877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-11
下一篇 2023-08-11

发表评论

登录后才能评论

评论列表(0条)

保存