【发布时间】:2009-07-22 22:20:07
【问题描述】:
在 Vista 64 位上使用 Visual Studio 2008,如果我创建一个如下所示的测试网站或 Web 应用程序...
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OracleConnection connection;
connection = new OracleConnection("User Id=user;Password=userpass;Data Source=dataSource;");
connection.Open();
}
}
...运行它,我得到以下错误。
ORA-12154: TNS:could not resolve the connect identifier specified
我知道这个关于parens的问题... http://duanesbrain.blogspot.com/2007/01/ora-12154-using-c-with-microsoft-visual.html
Visual Studio 2008 安装在 Program Files (x86) 中,但另一个开发人员具有相同的设置,并且对他来说工作正常。项目本身不在名称带括号的目录中。
我知道这不是我的 tnsnames.ora 或我的 sqlnet.ora 文件。我的机器设置方式与所有在这个项目上工作时间比我长得多的开发人员完全相同。
我也 100% 确定我使用的连接字符串是正确的。
如果我使用完全相同的代码创建控制台应用程序,它可以正常连接。我也可以使用该连接字符串信息 ping oracle 服务器并通过命令提示符直接连接。
另一个奇怪的事情是,如果我使用 VS 2005(也安装在 Program Files (x86) 中)创建具有相同代码的 Web 应用程序或网站,它也可以正常工作。
似乎仅限于使用 VS 2008 的 Web 应用程序和网站。
编辑: 我应该补充一点,我的 oracle 文件夹拥有当前授予所有人的所有权限。
编辑: Oracle 版本是 10.2.0
编辑:感谢您的见解,我永远无法让它和其他开发人员工作,我决定构建一个 XP 虚拟机来工作会更快。几个小时后,我完成了一个设置,一切运行良好。
【问题讨论】:
-
对于 Visual Studio 2008,您是否使用了其他开发人员提供的解决方案文件? ORACLE_HOME 系统变量是否在执行过程中被覆盖?
-
解决方案文件来自另一个开发者,从 svn 中提取。我不相信 ORACLE_HOME 系统变量在执行期间被覆盖。
标签: visual-studio-2008 oracleclient