oracle用户的密码带有"@"字符,exp 语句怎么写号?例如:用户为ji 密码为1234@#,SID 为test,exp语句能这样写吗?
exp ji/1234@#@TEST file=d:\databackup\ji_backup2.DMP  log=d:\databackup\ji_backup2.txt.
这样写,系统会不会认为SID 为#@TEST ,导致出现无法处理服务名啊?请高手指点。

解决方案 »

  1.   

    日,肯定会有问题的呢,计算机识别不出来的呢,怎么用这么奇怪的密码呢?是不是可以用“”或‘’给隐藏下,也不知道,waiting高手
      

  2.   

    Oracle在未解决密码中带有@问题钱,必须要避免将特殊字符@用于密码中,因为在Oracle中,@符号用来表明使用哪一台Oracle服务器。SQL*Plus连接语句的完整格式如下:CONNECT username/password@servername
    其中servername是一个Oracle Net别名,代表一个服务器、断口和实例名。如果密码中使用了@字符时,则产生错误:ORA-12154,“TNS:不能解析指定的连接标识符。”@符号被错误的用作Oracle Net别名,因为@之后的部分不是一个有效的别名从而产生错误。这个问题在Oracle 10g第二版中也存在。所以需要在PL/SQL中通过创建一个密码复杂性函数阻止用户设置包含@符号的密码,如果新密码包含@符号,就会被拒绝。