.NET连接Oracle数据库的问题

xyheqhd888 2008-09-28 09:33:15
[color=#FF0000]运行时出现下列问题,为什么啊?[/color]用户代码未处理 System.ArgumentException
Message="不支持关键字: “provider”。"
Source="System.Data.OracleClient"
StackTrace:
在 System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
在 System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
在 System.Data.OracleClient.OracleConnectionString..ctor(String connectionString)
在 System.Data.OracleClient.OracleConnectionFactory.CreateConnectionOptions(String connectionOptions, DbConnectionOptions previous)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(String connectionString, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
在 System.Data.OracleClient.OracleConnection.ConnectionString_Set(String value)
在 System.Data.OracleClient.OracleConnection.set_ConnectionString(String value)
在 System.Data.OracleClient.OracleConnection..ctor(String connectionString)
在 Oracle.setData(String[] str_array) 位置 d:\SampleCode\C18\CallWebServiceTest\Oracle.aspx.cs:行号 121
在 Oracle.ASPxTimer1_Tick(Object sender, EventArgs e) 位置 d:\SampleCode\C18\CallWebServiceTest\Oracle.aspx.cs:行号 114
在 DevExpress.Web.ASPxTimer.ASPxTimer.OnTick(EventArgs e)
在 DevExpress.Web.ASPxTimer.ASPxTimer.RaisePostBackEvent(String eventArgument)
在 DevExpress.Web.ASPxClasses.ASPxWebControl.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
...全文
192 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
StevenZhaoFD 2008-09-28
  • 打赏
  • 举报
回复
我的连接字符串是这么写的:
Data Source=KFB_192.168.5.111;Persist Security Info=True;User ID=EPOINTFRAME7;Password=11111;Unicode=True
xyheqhd888 2008-09-28
  • 打赏
  • 举报
回复
好的,谢谢各位回复,分号问题是不小心发贴时丢掉的,原因是tnsnames里没有配置对,用的免安装客户端.谢谢各位朋友.csdn,有组织就是好!
kklaiyou455024780 2008-09-28
  • 打赏
  • 举报
回复
愚见而已,
string connectionString = "Data Source=YSUMAINUser ID=hxy;Password=hxy";
这个语句是不是少了一个;号啊。
我用的是SQL的,没用过Oracle,然后建议你先测试数据库能不能连上,在继续做下面的编程
hongqi162 2008-09-28
  • 打赏
  • 举报
回复
string connectionString = "Data Source=YSUMAIN;User ID=hxy;Password=hxy";

少了一个分号
hongqi162 2008-09-28
  • 打赏
  • 举报
回复
string connectionString = "Data Source=YSUMAINUser ID=hxy;Password=hxy";
替换
string connectionString = "Data Source=YSUMAIN[color=#FF0000];User ID=hxy;Password=hxy[/color]";
xyheqhd888 2008-09-28
  • 打赏
  • 举报
回复
是这样的,我想通过WebService的方法往Oracle数据库里插入记录,代码如下,请大家帮忙看一下.
private void setData(string[] str_array)
{
//建立连接串
string connectionString = "Data Source=YSUMAINUser ID=hxy;Password=hxy";
//创建一个连接
OracleConnection conn = new OracleConnection(connectionString);
try
{
conn.Open();
OracleCommand cmd = conn.CreateCommand();

cmd.CommandText = "insert into TEMPLADINGRECORD (EVENT_NAME,EVENT_TIME,SHIPNO,BERTHNO,FLOWNO,CABINNO,STACKNO1,COAL_KIND1,QCOUNT1,RCOUNT1,STACKNO2," +
" COAL_KIND2,QCOUNT2,RCOUNT2,BMCOUNT,PLANCOUNT1,PLANCOUNT2) " +
" values( '" + str_array[0] + "','" + DateTime.Parse(str_array[1]) + "','" + str_array[2] + "','" + str_array[3] + "','" + str_array[4] + "','" + str_array[5] + "'," +
"'" + str_array[6] + "','" + str_array[7] + "','" + int.Parse(str_array[8]) + "','" + int.Parse(str_array[9]) + "','" + str_array[10] + "','" + str_array[11] + "','" + int.Parse(str_array[12]) + "','" + int.Parse(str_array[13]) + "'," +
"'" + int.Parse(str_array[14]) + "','" + int.Parse(str_array[15]) + "','" + int.Parse(str_array[16]) + "')";

cmd.Connection = conn;

//执行代码
cmd.ExecuteNonQuery();

}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
谢谢各位朋友了,在线急等
消失的尘芥 2008-09-28
  • 打赏
  • 举报
回复
把你连接字符串的代码贴上来看看
hongqi162 2008-09-28
  • 打赏
  • 举报
回复

OracleConnection conn = new OracleConnection("data source=orcl;user=system;password=manager");
conn.Open();
OracleDataAdapter oda = new OracleDataAdapter();
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "select * from t";
cmd.Connection = conn;
DataTable dt = new DataTable();
oda.SelectCommand = cmd;
oda.Fill(dt);
conn.Close();



你的数据库连接字符串写的有问题,如果使用oracleclient你直接使用"data source=orcl;user=system;password=manager"就可以了
heqi915 2008-09-28
  • 打赏
  • 举报
回复
没有看明白,帮顶
zzyhuian06142 2008-09-28
  • 打赏
  • 举报
回复
你的连接字符传怎么写的

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧