ORACLE数据库操作学习及数据同步操作

时间:2022-11-07 23:48:42
以前没有操作过ORACLE数据库,现在因工作需要,学习一下。现摘抄部分知识点如下。

1,在使用ORACLE数据库时,若使用NAVICAT管理工具,除了下载NAVICAT外,还需要下载instantclient,并进行简单设置,如NAVICAT界面中工具--选项中的OCI.DLL的路径设置等。在设置完成后,还需要进行连接测试,若测试无误,则可以进行一般的操作了。


2.任何数据库的操作都有一定的类库,如ORACLE,则一般使用Oracle.ManagedDataAccess.dll。

3.ORACLE连接字符串的三种方式:
3.1 通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora) 这个大家都知道,就不细说了

oracleConnectionString : data source = orcl;user id= scott; password=tiger;persist security info=false;

3.2 是利用OldeDb 来连接

oracleConnectionString :

 Provider=OraOLEDB.Oracle.1;User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.125.250)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))


貌似MSDN上OledbCommandType 没有可以对应Oracle 的 ref Cursor ,所以就抛弃了他,
3.3 需要oracle客户端,但是不需要配置tnsnames.ora --测试成功

连接字符串 oracleConnectionString

User ID=scott;Password=tiger;Data Source="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=服务器IP)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)))";



4.OCI_INVALID_HANDLE :检查结果集是否关闭,每个查询对应一个结果集,使用后要关闭结果集,否则下个查询报错。
把navicat关了,重新启动一下就好了.

5.串口操作时,如果需要连续发送多条指令,往往会产生串口信息混乱的情况。此时可以在收到返回信息且处理完成时再进行后续指令的发送。即达到连续发送指令的目的,又避免了信息错乱。

6. RabbitMQ是一个在 AMQP基础上完成的,可复用的企业消息系统。他遵循 Mozilla Public License 开源协议
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级 消息队列协议,是 应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/ 中间件不同产品,不同的开发语言等条件的限制。

7.ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信。什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知消息及调用方法,当然这是实时操作的。
WebSockets是 HTML5提供的新的API,可以在Web网页与服务器端间建立Socket连接,当WebSockets可用时(即浏览器支持Html5)SignalR使用WebSockets,当不支持时SignalR将使用其它技术来保证达到相同效果。
SignalR当然也提供了非常简单易用的高阶API,使服务器端可以单个或批量调用客户端上的JavaScript函数,并且非常 方便地进行连接管理,例如客户端连接到服务器端,或断开连接,客户端分组,以及客户端授权,使用SignalR都非常 容易实现。


8.