none
C#中连接Oracle数据库,Data Adapter配置向导无法生成SQL语句 RRS feed

  • 问题

  • 大家有遇到过这种情况吗?

    我在C#中添加ODBC 的data adapter,出现Data Adapter配置向导之后,根据向导提示创建数据库连接,连接到Oracle数据库成功,写好Select语句,在高级选项里面选择自动根据SELECT语句生成对应的Update,delete,insert语句,继续下一步,最后的结果是配置向导生成了Table mapping和select 语句,而Update,delete,insert全是空;
    我用上面同样的方法,采用的是System.Data.OracleClient的Oracle Data Adapter,连接到Oracle 数据库,就可以完全生成四种SQL command;
    同样,如果我仍然使用 ODBC 的data adapter,连接到SQL server 2005,也是可以自动生成四种SQL语句的。

    为什么偏偏 ODBC 的data adapter,连接到Oracle数据库就不成功呢?
    2009年7月1日 9:29

答案

  • 一般 UpdateCommand, DeleteCommand, InsertCommand 未自动生成是由于SelectCommand 中未包含主键或唯一索引字段
    知识改变命运,奋斗成就人生!
    我把所有的字段都SELECT出来了的,肯定是包含主键的
    • 已标记为答案 yanjp2008 2009年7月3日 8:48
    2009年7月3日 8:48

全部回复

  • 一般 UpdateCommand, DeleteCommand, InsertCommand 未自动生成是由于SelectCommand 中未包含主键或唯一索引字段
    知识改变命运,奋斗成就人生!
    • 已标记为答案 yanjp2008 2009年7月3日 8:46
    • 取消答案标记 yanjp2008 2009年7月3日 8:46
    2009年7月1日 11:49
    版主
  • 我以前用 Visual Studio + OleDb、OracleClient 这两种 Data Provider 连接 Oracle 都没什么问题,
    个人猜测,有可能是 VS 内附的 ODBC with Oracle 本身功能就有限,可能不支持 ADO.NET 和 VS 的部分自动生成功能。
    ODBC 多半用来连接远古的数据库,如: IBM Informix,功能有限也是正常的。
    Wizard 编程网 - 博客园 http://www.cnblogs.com/WizardWu
    2009年7月3日 8:42
  • 一般 UpdateCommand, DeleteCommand, InsertCommand 未自动生成是由于SelectCommand 中未包含主键或唯一索引字段
    知识改变命运,奋斗成就人生!
    我把所有的字段都SELECT出来了的,肯定是包含主键的
    • 已标记为答案 yanjp2008 2009年7月3日 8:48
    2009年7月3日 8:48