
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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)