配置Oracle 11g客户端以使用9i,以便在VS 2008和C#或ASP.net上使用ODP.NET

时间:2009-08-03 19:27:11

标签: asp.net oracle oracle11g odp.net oracle9i

我对使用最新的oracle ODP.NET客户端时遇到了一些问题,并使用它将ASP.NET 2008和C#连接到旧的Oracle 9i数据库。正如ODP.NET instalation instructuins中所述它应该可以工作,但是在配置oracle时我有点生疏。 旧的9i客户端有.NET问题,它根本不起作用ORA-01036:非法变量名称/数字',是否需要更新。所以我已经安装了11g,运行安装程序附带的SQL脚本,现在,我不太了解的棘手部分,是在Network / ADMIN上的文件tnsnames.ora,sqlnet.ora,我只是从重新启动的9i中复制它们,似乎通过在VS 2008上的服务器上建立新连接它可以工作,然后使SQlDataConnection破坏了查询,测试它,我可以使用Oracle.DataAccess.Client查看检索到的行。 例如,当在网格中检索相同的数据时,页面永远不会加载,并且超时,某些东西不起作用...添加了对Oracle.DataAccess的引用,甚至尝试使用连接创建一些代码命令,它使用我在服务器中使用的相同连接字符串给我数据提供程序内部错误(-3000)[System.String] ... 我确信有些东西与配置11g客户端以使用我现有的9i数据库有关。 注意:9i客户端仍然存在于系统上, Microsoft .net Oracle提供程序根本不起作用,我不愿意使用它,所以我想坚持使用ODP.net以及可以使用的框架2.0。

我只是好奇我做错了什么,或者我如何调试并找出Oracle抱怨的内容。但是就像我说我不是Oracle的专业人士,我只是将它用于预先配置的东西,并且曾经使用MS SQL或MySQL,在这种情况下,它们似乎工作正常。

1 个答案:

答案 0 :(得分:0)

只是我的进度更新。似乎哪个vers无关紧要。您安装它的ODP.net总是会遇到SQLDataSource的问题,它似乎不起作用,所以如果您尝试任何其他DataSource,如ObjectDataSource和DataSet或其他实现,它也在工作和参数化但是记得使用:PARAM,而不是@PARAM。 Jusst一条建议:记得妥善保管你的Network / Admin .ora文件,否则它将无法正常工作。 我这样做的方法是将v10安装在9然后11g上,然后进行配置。这一次它没有工作,没有数据提供者内部错误(-3000),但仍然使用ORA-01036:SQLDataSource上的非法变量名称/数字',所以我的建议不要使用它,永远不会,仅用于演示,用于真实项目,思考不同。

对于如何以不同方式处理oracle的事情,任何人都有不同的看法?