} } public enum DataBaseType { SqlServer, Access, Oracle } public enum ParameterType { Integer, Char, VarChar } public class connHelper { public static IDbConnection CreateConnection(DataBaseType dbType) { IDbConnection con; switch (dbType) { case DataBaseType.Access: con = new OleDbConnection(ConfigurationManager.ConnectionStrings["AccessConn"].ConnectionString); break; case DataBaseType.Oracle: con = new OracleConnection(ConfigurationManager.ConnectionStrings["OracleConn"].ConnectionString); break; default: con = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString); break; } return con; } public static IDbCommand CreateCommand(string QueryString, DataBaseType dbType, IDbConnection con) { IDbCommand cmd; switch (dbType) { case DataBaseType.Access: cmd = new OleDbCommand(QueryString, (OleDbConnection)con); break; case DataBaseType.Oracle: cmd = new OracleCommand(QueryString, (OracleConnection)con); break; default: cmd = new SqlCommand(QueryString, (SqlConnection)con); break; } return cmd; } public static IDbDataAdapter CreateDataAdapter(IDbCommand cmd, DataBaseType dbType) { IDbDataAdapter ida; switch (dbType) { case DataBaseType.Access: ida = new OleDbDataAdapter((OleDbCommand)cmd); break; case DataBaseType.Oracle: ida = new OracleDataAdapter((OracleCommand)cmd); break; default: ida = new SqlDataAdapter((SqlCommand)cmd); break; } return ida; } }用此程序连接ACCESS和SQLSERVER均正常,但是ORACLE就不行。。请达人帮忙分析,谢谢啦!!
ORACLE10g不算是太旧的版本吧?就算是9i也不算是特别旧吧。。
以前我用10g从来没有出现过任何问题。。网上说是因为ORACLE目录的权限.NET访问不到造成的,但是按它的方法改了也不管用。。
很纳闷,什么都没动怎么突然就成这样了。。
以后开发的时候经常要用到ORACLE数据库,怎么办啊。。
<connectionStrings>
<add name="conString" connectionString="data source=ip地址/数据库实例名;user=用户名;password=密码;"/>
</connectionStrings>
上面是我的连接字符串可以参考一下。。其他的和使用ms sql server的连接方式都差不多
TO#5 没有自己安装IIS,是.NET内置的IIS,请问该怎么设置呢?
TO#6 请问可以具体说一下吗?谢谢
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ DataSet ds = new DataSet();
string sqlStr = "select * from emp"; //ORACLE连接
IDbConnection myConn = connHelper.CreateConnection(DataBaseType.Oracle);
IDbCommand myCmd = connHelper.CreateCommand(sqlStr, DataBaseType.Oracle, myConn);
IDbDataAdapter myDa = connHelper.CreateDataAdapter(myCmd, DataBaseType.Oracle); //ACCESS连接
//IDbConnection myConn = connHelper.CreateConnection(DataBaseType.Access);
//IDbCommand myCmd = connHelper.CreateCommand(sqlStr, DataBaseType.Access, myConn);
//IDbDataAdapter myDa = connHelper.CreateDataAdapter(myCmd, DataBaseType.Access); //SQLSERVER连接
//IDbConnection myConn = connHelper.CreateConnection(DataBaseType.SqlServer);
//IDbCommand myCmd = connHelper.CreateCommand(sqlStr, DataBaseType.SqlServer, myConn);
//IDbDataAdapter myDa = connHelper.CreateDataAdapter(myCmd, DataBaseType.SqlServer);
myDa.Fill(ds);
DataTable dt = ds.Tables[0];
gridControl1.DataSource = dt;
}
}
public enum DataBaseType
{
SqlServer,
Access,
Oracle
} public enum ParameterType
{
Integer,
Char,
VarChar
} public class connHelper
{ public static IDbConnection CreateConnection(DataBaseType dbType)
{
IDbConnection con;
switch (dbType)
{
case DataBaseType.Access:
con = new OleDbConnection(ConfigurationManager.ConnectionStrings["AccessConn"].ConnectionString);
break;
case DataBaseType.Oracle:
con = new OracleConnection(ConfigurationManager.ConnectionStrings["OracleConn"].ConnectionString);
break;
default:
con = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString);
break;
}
return con;
} public static IDbCommand CreateCommand(string QueryString, DataBaseType dbType, IDbConnection con)
{
IDbCommand cmd;
switch (dbType)
{
case DataBaseType.Access:
cmd = new OleDbCommand(QueryString, (OleDbConnection)con);
break;
case DataBaseType.Oracle:
cmd = new OracleCommand(QueryString, (OracleConnection)con);
break;
default:
cmd = new SqlCommand(QueryString, (SqlConnection)con);
break;
}
return cmd;
} public static IDbDataAdapter CreateDataAdapter(IDbCommand cmd, DataBaseType dbType)
{
IDbDataAdapter ida;
switch (dbType)
{
case DataBaseType.Access:
ida = new OleDbDataAdapter((OleDbCommand)cmd);
break;
case DataBaseType.Oracle:
ida = new OracleDataAdapter((OracleCommand)cmd);
break;
default:
ida = new SqlDataAdapter((SqlCommand)cmd);
break;
}
return ida;
}
}用此程序连接ACCESS和SQLSERVER均正常,但是ORACLE就不行。。请达人帮忙分析,谢谢啦!!
谢谢各位啦