win7 homebasic下,.net2008 连接oracle,提示错误OCIEnvCreate 失败,返回代码为 1,但错误消息文本不可用

string connct = string.Format("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1})))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={2})));User Id={3};Password={4};",
               "172.19.32.79", 1521, "NEWSROOM", "newsroom", "newsroom");
           //connct = "Data Source=NEWSROOM;User Id=newsroom;Password=newsroom";
           OracleConnection conn = new OracleConnection(connct);

           OracleCommand cmd = new OracleCommand("select count(0) from news_user", conn);
           conn.Open();

           object o = cmd.ExecuteOracleScalar();

           conn.Close();

到conn.Open();的时候,就会出现:

提示错误OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

解决方案:找到vs2008,右击“以管理员身份运行”,启动vs2008,然后打开项目/解决方案,选中你的程序,运行,通过。

之所以弹出以上的错误,都是因为身份不够,以管理员身份运行就OK了

总结:WIn7比XP多了个管理员权限,就是右击程序有“以管理员身份运行”

因此,当你的程序,代码在XP下能运行时,而在win7下弹出错误,就试试这个方法,在你的程序上右击“以管理员身份运行”,一般都能解决问题。

win7这个设置,哎,真是又爱又恨啊!!!

原文地址:https://www.cnblogs.com/HeroBeast/p/1785262.html