delphi中怎么用sys以sysdba的身份登陆到oracle中?(100分)

  • 主题发起人 主题发起人 xiaoli1740
  • 开始时间 开始时间
X

xiaoli1740

Unregistered / Unconfirmed
GUEST, unregistred user!
如题;<br>我想用sys登陆到oracle中,给一些用户授权;但不知道连接字符串怎么书写?请指教~<br>我用的是TSQLConnection控件连接的;用dbxpress方式;
 
顶起,别沉呀~
 
頂起不沉
 
问题尚未解决,焦急等待中~
 
sys登陆和system登陆有区别吗?
 
有区别,sys必须是用sysdba身份登陆的,而system不用;<br>因为我想操作一个只有以sysdba身份才能操作的一个表:user$;当然用system的sysdba身份登陆系统也可以;所以求教sys的登陆方式;<br><br>以下登陆信息:<br><br>SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 7月 21 10:53:47 2008<br><br>Copyright (c) 1982, 2002, Oracle Corporation. &nbsp;All rights reserved.<br><br><br>连接到:<br>Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production<br>With the Partitioning, OLAP and Oracle Data Mining options<br>JServer Release 9.2.0.1.0 - Production<br><br>SQL&gt; conn sys/sys<br>ERROR:<br>ORA-28009: connection to sys should be as sysdba or sysoper<br><br><br>警告: 您不再连接到 ORACLE。<br>SQL&gt; conn sys/sys as sysdba<br>已连接。<br>SQL&gt; conn system/system<br>已连接。<br>SQL&gt; conn system/system as sysdba<br>已连接。<br>SQL&gt;
 
有必要用这个方法吗?自已建个用户表就行了
 
我要更新oracle内部的user$表;不用sysdba身份操作不了呀,“用户表”是什么?不懂~
 
这个问题我一年前问过了,没有人能解答
 
建议参考<br>http://www.eygle.com/faq/passwordfile.htm<br><br># Oracle 连接字符串代码<br><br>ODBC<br>&nbsp;<br>新版本<br>Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>旧版本<br>Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>OLE DB, OleDbConnection (.NET)<br>&nbsp;<br>标准连接<br>此连接字符串适用了微软的驱动。 &nbsp;<br>Provider=msdaora;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>受信连接<br>Provider=msdaora;Data Source=MyOracleDB;Persist Security Info=False;Integrated Security=Yes;<br>&nbsp;<br>&nbsp; &nbsp;<br>标准连接<br>由Oracle提供的驱动。 &nbsp;<br>Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>受信连接<br>Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;<br>&nbsp;<br>&nbsp; &nbsp;<br>Oracle.DataAccess.Client.OracleConnection<br>&nbsp;<br>标准<br>Data Source=TORCL;User Id=myUsername;Password=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>标准安全连接<br>Data Source=TORCL;Integrated Security=SSPI;<br>&nbsp;<br>&nbsp; &nbsp;<br>使用ODP.NET而不使用tnsnames.ora<br>Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=<br><br>(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))<br><br>(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>OracleConnection, Oracle Data Provider, ODP.NET, System.Data.OracleClient.OracleConnection<br>&nbsp;<br>标准<br>Data Source=MyOracleDB;Integrated Security=yes;<br>&nbsp;<br>用于8i RC3及以后的版本<br>&nbsp; <br>指定用户名和密码<br>Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;<br>&nbsp;<br>用于8i RC3及以后的版本<br>&nbsp; <br>忽略tnsnames.ora<br>另一种不需要使用DSN的连接方式。 &nbsp;<br>SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)<br><br>(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=myUsername;pwd=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>&nbsp;<br>使用上面的连接字符串可能会导致Visual Studio报告错误,如果您在使用中出现了这些问题,请使用下面的这种连接方式。 &nbsp;<br>Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)<br><br>(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=<br><br>(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>使用连接池<br>如果连接池服务程序找不到已经存在的连接池,它将根据连接字符串创建一个新的池,否则将循环使用池中已存在的连接。 &nbsp;<br>Data Source=myOracleDB;User Id=myUsername;<br><br>Password=myPassword;Min Pool Size=10;Connection Lifetime=120;<br>Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;<br>  Windows身份验证<br>Data Source=myOracleDB;User Id=/;<br>&nbsp;<br>&nbsp; &nbsp;<br>特权连接<br>使用SYSDBA &nbsp;<br>Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSDBA;<br>&nbsp;<br>&nbsp; &nbsp;<br>特权连接<br>使用SYSOPER &nbsp;<br>Data Source=myOracleDB;User Id=SYS;Password=SYS;DBA Privilege=SYSOPER;<br>&nbsp;<br>&nbsp; &nbsp;<br>密码过期处理过程<br>当使用一个连接字符串连接数据库后,出现“密码已过期”的错误时,请执行OpenWithNewPassword命令来提供新密码。 &nbsp;<br>Data Source=myOracleDB;User Id=myUsername;Password=myPassword;<br>oConn.OpenWithNewPassword(sTheNewPassword); <br>&nbsp;<br>&nbsp; &nbsp;<br>Proxy验证<br>Data Source=myOracleDB;User Id=myUsername;Password=myPassword;<br>Proxy User Id=pUserId;Proxy Password=pPassword;<br>&nbsp;<br>&nbsp; &nbsp;<br>Core Labs OraDirect (.NET)<br>&nbsp;<br>Standard<br>User ID=myUsername;Password=myPassword;Host=ora;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;<br>&nbsp;<br>&nbsp; &nbsp;<br>Data Shape<br>&nbsp;<br>MS Data Shape<br>Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=myUsername;Password=myPassword;
 
如果用BDE呢?又怎么办?
 
昨天只是看到邮件里有个N年前的结贴信息,才回来看看,顺便回了贴<br>刚刚搜了一下,没有好的答案,也不打算再搜索了。<br><br>如果一定要做比较深入的oracle管理,建议参考oracle的 OCI 接口。<br>如果没有记错,ODAC就是以此为基础的。
 
刚才看到了关于ORACL9i的认证方法,<br><br>《oracle9i数据库管理员使用大全》腾永昌、清华版;page 109~118 写的比较详细<br><br>有需求的可以阅读一下[:D]
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部