asp連接oracle資料庫
1. 求一個ASP連接到ORACLE資料庫的樣本程序(200分)
1、連入SQL*Plus
以system/manager用戶登錄,
SQL> conn system/manager
創建新的用戶:如user1/pass1,賦予connect,resource許可權。
SQL> grant connect,resource to user1 identified by pass1;
SQL> conn user1/pass1
SQL> create table test(a date);
Oracle資料庫的實例名,本例:oradb
Oracle用戶名,本例:user1
Oracle主機字元串:oradb
tnsnames.ora文件中
ORADB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)
2、在IIS默認WWW目錄下創建test.asp,用notebook編輯,輸入以下代碼
<%
set conn=server.createobject("adodb.connection")
dns="Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=user1;Password=pass1;Data Source=oradb"
conn.Open dns
SQL="insert into test(a) values(sysdate)"
set rs=conn.execute(SQL)
set rs=nothing
conn.close
set conn=nothing
%>
<%
set conn=server.createobject("adodb.connection")
dns="Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=user1;Password=pass1;Data Source=oradb"
conn.Open dns
SQL="select to_char(a,'hh24:mi:ss') from test"
set rs=conn.execute(SQL)
do while (not rs.eof)
%>
<table border=1>
<tr><td><%=rs.fields(0).value%></font></td>
</tr>
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
2. C# ASP.NET中連接ORACLE的連接字元串寫成這樣是不是錯的啊
如果是從一台機器連接另一台機器,首先要安裝oracle的客戶端程序,這樣才有連接驅動。當然被鏈接的那台及其必須安裝了oracle的資料庫。然後連接方法是:
ODBC
新版本
Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;
舊版本
Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;
OLE DB, OleDbConnection (.NET)
標准連接
此連接字元串適用了微軟的驅動。
Provider=msra;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
受信連接
Provider=msra;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;
標准連接
由Oracle提供的驅動。
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;
受信連接
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;
Oracle.DataAccess.Client.OracleConnection
標准
Data Source=TORCL;User Id=myUsername;Password=myPassword;
標准安全連接
Data Source=TORCL;Integrated 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=myUsername;Password=myPassword;
OracleConnection, Oracle Data Provider, ODP.NET, System.Data.OracleClient.OracleConnection
標准
Data Source=MyOracleDB;Integrated Security=yes;
用於8i RC3及以後的版本
指定用戶名和密碼
Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;
用於8i RC3及以後的版本
忽略tnsnames.ora
另一種不需要使用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;
[Page]
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;
oConn.OpenWithNewPassword(sTheNewPassword);
Proxy驗證
Data Source=myOracleDB;User Id=myUsername;Password=myPassword;
Proxy User Id=pUserId;Proxy Password=pPassword;
Core Labs OraDirect (.NET)
Standard
User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
Data Shape
MS Data Shape
Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=myUsername;Password=myPassword;