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这个设置,哎,真是又爱又恨啊!!!