关于客户端服务名配置的问题 直接用DOS批处理文件修改TNSNAMES.ORA文件,不知道算不算一种方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该可以,你可以用程序直接操作相应的tnsnames.ora文件,达到同样的目的。 //读注册表public string ReadReg(){ try { string readReg =""; RegistryKey hklm = Registry.LocalMachine ; RegistryKey rOracle = hklm.OpenSubKey ( @"SOFTWARE\ORACLE" , true ) ; if(rOracle.GetValue( "ORACLE_HOME") != null) { readReg =(string)rOracle.GetValue( "ORACLE_HOME"); } rOracle.Close(); hklm.Close(); return readReg;}catch{ return "";} }//读取tnsnames.ora public string ReadFile(string FileName) { if(File.Exists(FileName)) { StreamReader objStreamReader = null; try { objStreamReader = File.OpenText(FileName);//(@"c:\xc.txt")); string strScript =objStreamReader.ReadToEnd(); objStreamReader.Close(); return strScript; } catch { return "" ; } } else { return "" ; } }//写入tnsnames.ora public bool WriteFile(string FileName,string FileInfo) { if(File.Exists(FileName)) { StreamWriter objStreamWriter = null; try { objStreamWriter = new StreamWriter(FileName,false);//(@"c:\xc.txt")); objStreamWriter.Write(FileInfo); objStreamWriter.Close(); return true; } catch { return false; } } else { return false; } }上面的放在一个类里面下面使用://Oracle客户端配置string OraclePathName = changelink.ReadReg() + @"\network\admin\tnsnames.ora";string OracleOra8Info = changelink.ReadFile(OraclePathName);//读取oracle文件if(OracleOra8Info.Length>0){ OracleOra8Info = Regex.Replace(OracleOra8Info,r,textBox1.Text.ToString().Trim()); if(changelink.WriteFile(OraclePathName,OracleOra8Info)) { MessageBox.Show("Oracle客户端配置成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } else { MessageBox.Show("Oracle客户端配置没有成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); return; } }else{ MessageBox.Show("Oracle客户端配置没有成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); return;} 在线等"HH84"是select中没有的,只到83,怎么会跑出来呢,程序是部署在resin3.1 求一sql语句 jdbc以system 连接 oracle 10g 权限不足 关于获取主键的一个问题 左连接更新表的数据 请问如何删掉sys用户表的列 安装 全过程---------OEM不能登入------------WHY? 请问exp的query参数怎么用啊? 哪儿可以查到PL/SQL的联机帮助? 如何在RadHat8中安装Oracle8 速度瓶劲在哪里?(oracle 访问速度的问题) 如何用exp导出单个数据库
public string ReadReg()
{
try
{
string readReg ="";
RegistryKey hklm = Registry.LocalMachine ;
RegistryKey rOracle = hklm.OpenSubKey ( @"SOFTWARE\ORACLE" , true ) ;
if(rOracle.GetValue( "ORACLE_HOME") != null)
{
readReg =(string)rOracle.GetValue( "ORACLE_HOME");
}
rOracle.Close();
hklm.Close();
return readReg;
}
catch
{
return "";
}
}//读取tnsnames.ora
public string ReadFile(string FileName)
{
if(File.Exists(FileName))
{
StreamReader objStreamReader = null;
try
{
objStreamReader = File.OpenText(FileName);//(@"c:\xc.txt"));
string strScript =objStreamReader.ReadToEnd();
objStreamReader.Close();
return strScript;
}
catch
{
return "" ;
}
}
else
{
return "" ;
}
}
//写入tnsnames.ora
public bool WriteFile(string FileName,string FileInfo)
{
if(File.Exists(FileName))
{
StreamWriter objStreamWriter = null;
try
{
objStreamWriter = new StreamWriter(FileName,false);//(@"c:\xc.txt"));
objStreamWriter.Write(FileInfo);
objStreamWriter.Close();
return true;
}
catch
{
return false;
}
}
else
{
return false;
}
}
上面的放在一个类里面下面使用:
//Oracle客户端配置
string OraclePathName = changelink.ReadReg() + @"\network\admin\tnsnames.ora";
string OracleOra8Info = changelink.ReadFile(OraclePathName);//读取oracle文件
if(OracleOra8Info.Length>0)
{
OracleOra8Info = Regex.Replace(OracleOra8Info,r,textBox1.Text.ToString().Trim());
if(changelink.WriteFile(OraclePathName,OracleOra8Info))
{
MessageBox.Show("Oracle客户端配置成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Oracle客户端配置没有成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
}
else
{
MessageBox.Show("Oracle客户端配置没有成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}