用jdbc连接oracle的url怎么写

用jdbc连接oracle的url怎么写,第1张

格式一: Oracle JDBC Thin using a ServiceName:

jdbc:oracle:thin:@//<host>:<port>/<service_name>

Example: jdbc:oracle:thin:@//192.168.2.1:1521/XE

注意这里的格式,@后面有//, 这是与使用SID的主要区别。

这种格式是Oracle 推荐的格式,因为对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 确可以包含所有节点。

格式二: Oracle JDBC Thin using an SID:

jdbc:oracle:thin:@<host>:<port>:<SID>

Example: jdbc:oracle:thin:192.168.2.1:1521:X01A

Note: Support for SID is being phased out. Oracle recommends that users switch over to usingservice names.

格式三:Oracle JDBC Thin using a TNSName:

jdbc:oracle:thin:@<TNSName>

Example: jdbc:oracle:thin:@GL

Note:

Support for TNSNames was added in the driver release 10.2.0.1

常用的是前两种;另外其实还有oci的连接方式,一般用不上。

下面这些都是Oracle数据库连接字符串,总结的非常详细,但不是我总结的.

ODBC

新版本

Driver={Microsoft ODBC for Oracle}Server=myServerAddressUid=myUsernamePwd=myPassword

旧版本

Driver={Microsoft ODBC Driver for Oracle}ConnectString=OracleServer.worldUid=myUsernamePwd=myPassword

OLE DB, OleDbConnection (.NET)

标准连接,此连接字符串适用了微软的驱动。

Provider=msdaoraData Source=MyOracleDBUser Id=myUsernamePassword=myPassword

受信连接

Provider=msdaoraData Source=MyOracleDBPersist Security Info=FalseIntegrated Security=Yes

标准连接,由Oracle提供的驱动。

Provider=OraOLEDB.OracleData Source=MyOracleDBUser Id=myUsernamePassword=myPassword

受信连接

Provider=OraOLEDB.OracleData Source=MyOracleDBOSAuthent=1

Oracle.DataAccess.Client.OracleConnection

Data Source=TORCLUser Id=myUsernamePassword=myPassword

标准安全连接

Data Source=TORCLIntegrated Security=SSPI

使用ODP.NET而不使用tnsnames.ora

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)))User Id=myUsernamePassword=myPassword

OracleConnection, Oracle Data Provider, ODP.NET, System.Data.OracleClient.OracleConnection

标准

Data Source=MyOracleDBIntegrated Security=yes

用于8i RC3及以后的版本

指定用户名和密码

Data Source=MyOracleDBUser Id=myUsernamePassword=myPasswordIntegrated Security=no

用于8i RC3及以后的版本

忽略tnsnames.ora,另一种不需要使用DSN的连接方式。

SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)))uid=myUsernamepwd=myPassword

使用上面的连接字符串可能会导致Visual Studio报告错误,如果您在使用中出现了这些问题,请使用下面的这种连接方式。

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)))User Id=myUsernamePassword=myPassword

使用连接池

如果连接池服务程序找不到已经存在的连接池,它将根据连接字符串创建一个新的池,否则将循环使用池中已存在的连接。

Data Source=myOracleDBUser Id=myUsernamePassword=myPasswordMin Pool Size=10Connection Lifetime=120Connection Timeout=60Incr Pool Size=5Decr Pool Size=2

Windows身份验证

Data Source=myOracleDBUser Id=/

特权连接

使用SYSDBA

Data Source=myOracleDBUser Id=SYSPassword=SYSDBA Privilege=SYSDBA

特权连接

使用SYSOPER

Data Source=myOracleDBUser Id=SYSPassword=SYSDBA Privilege=SYSOPER

复制

密码过期处理过程

当使用一个连接字符串连接数据库后,出现“密码已过期”的错误时,请执行OpenWithNewPassword命令来提供新密码。

Data Source=myOracleDBUser Id=myUsernamePassword=myPassword

oConn.OpenWithNewPassword(sTheNewPassword)

Proxy验证

Data Source=myOracleDBUser Id=myUsernamePassword=myPasswordProxy User Id=pUserIdProxy Password=pPassword

Core Labs OraDirect (.NET)

User ID=myUsernamePassword=myPasswordHost=oraPooling=trueMin Pool Size=0Max Pool Size=100Connection Lifetime=0

MS Data Shape

Provider=MSDataShape.1Persist Security Info=FalseData Provider=MSDAORAData Source=oracUser Id=myUsernamePassword=myPassword


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

原文地址:https://54852.com/sjk/6776058.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存