爱是王道 发表于 2015-5-20 09:47:53

解决:win7 ,64位下,vs 2008 ,oracle 数据库使用内置的web server 报ORA-12154: TNS: 无法解析指定的连接标识符

  最近公司产品开始准备支持ORACLE 版本,在此过程中遇到不少问题.
  在此标记.
  1.ORA-12154: TNS: 无法解析指定的连接标识符 错误
  这个错误比较常见,一般可能的原因如下(网上抄来):  
  1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听
   客户端:tnsping
      服务器Linux下:
       #>lsnrctl status 查看监听状态
       #>lsnrctl start 启动监听
  2.通过Sql Plus连接一下试试,如果Sql Plus连接能成功,那就说明你的tnsnames.ora内容有错误
  3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN目录下的所有文件删了,然后重新连接,一般就能解决了。
  4.确保应用程序的路径没有特殊字符
  我所遇到的问题是因为vs2008的内置 web server 服务器 在win7 64下的 "Program Files (x86)" 目录下,包含了特殊符号 "("与")" ,所以会报错.
  因此就想到 使用IIS 来进行调试,操作方法如下(网上抄来):
  1.点击Web Project的右键属性->Start Options->Use custom server
                                                                     base url: http://localhost/
  2. 将IISDefault Web Server指向Web项目所在的目录
     打开IIS, Default Web Site->右键属性->Home Directory,将Local Path改为项目根目录路径
  3. 这时可以通过打开IE,地址栏输入: http://localhost/进行访问
  4. 如果发生数据库异常,说明没有在数据库中添加ASP帐户
  1) 先添加Server级别安全帐户   
      打开SQL Server2008,点击Security->右键->New Login
     ->Search->Advanced->Find Now->选中ASPNET用户->OK
  
  2)再添加Database级别安全帐户
        打开某个DB,点击Security->右键->New Login
     ->Search->Advanced->Find Now->选中ASPNET用户->OK
  
     3) 最后添加Sequence的安全帐户
        打开某个Sequence,点击Security->右键->New Login
     ->Search->Advanced->Find Now->选中ASPNET用户->OK
  
     4) 把进程attach 到 aspnet_wp.exe
      Tools->Attach to Process, 在列表中选择aspnet_wp.exe
      
   5) 项目中设置断点,F5进行debug,F10单步调试.
  
  按照上面的步骤操作,IIS 里可以正常浏览网站了,在VS2008 中设置好属性,并运行又报了个错误:
  
  ---------------------------
Microsoft Visual Studio
---------------------------
Unable to start debugging on the web server. The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)
  Click Help for more information.
---------------------------
OK   Help   
---------------------------
  
  网上的解决办法是在IIS 中将Windows 集成验证开启,但是在我的IIS 中没发现这个验证.于是想到可能IIS 没有完全安装,重新安装了一遍IIS,并将windows 授权勾上之后重新打开IIS,发现Windows 集成验证 已经有了.这个时候将之开启.
  重新在vs2008 中运行项目,不再报错,问题解决!
  
页: [1]
查看完整版本: 解决:win7 ,64位下,vs 2008 ,oracle 数据库使用内置的web server 报ORA-12154: TNS: 无法解析指定的连接标识符