标签: informix

无法启用约束.一行或多行包含违反非null,唯一或外键约束的值

我做了一个外连接并在informix数据库中成功执行但我在我的代码中得到以下异常:

DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat);
Run Code Online (Sandbox Code Playgroud)

无法启用约束.一行或多行包含违反非null,唯一或外键约束的值.

我知道这个问题,但我不知道如何解决它.

我在外连接上创建的第二个表包含一个复合主键,它在前一个外连接查询中为空.

编辑:

    SELECT UNIQUE a.crs_e,  a.crs_e  || '/ ' || a.crst crs_name, b.period,
           b.crscls, c.crsday, c.from_lect, c.to_lect,
           c.to_lect - c.from_lect + 1 Subtraction, c.lect_kind, e.eval, e.batch_no,
           e.crsnum, e.lect_code, e.prof_course
    FROM rlm1course a, rfc14crsgrp b, ckj1table c, mnltablelectev d,
         OUTER(cc1assiscrseval e)  
    WHERE a.crsnum = b.crsnum 
    AND b.crsnum = c.crsnum 
    AND b.crscls = c.crscls 
    AND b.batch_no = c.batch_no 
    AND c.serial_key = d.serial_key  
    AND c.crsnum = e.crsnum  
    AND c.batch_no = e.batch_no  
    AND d.lect_code= …
Run Code Online (Sandbox Code Playgroud)

c# sql database asp.net informix

161
推荐指数
6
解决办法
20万
查看次数

Informix SQL - 列出所有字段和表

Informix iSQL有一个info tables;显示所有表的命令" ".
查看字段及其各自数据类型的语法是" info columns for table;"

是否有类似的命令显示所有表和所有字段的table.field?

sql informix field isql

19
推荐指数
1
解决办法
7万
查看次数

如何在visual studio中找到informix数据源以进行连接

我想EF6Informix数据库.

我搜索了很多,发现我能得到

EntityFramework.IBM.DB2 6.0.2 自为的NuGet都InformixDB2,但我的主要问题是连接

如何创建与我的informix数据库的连接我找不到.net使用的任何提供程序?

  • 我想得到一个这样的窗口:

    :在此输入图像描述

我目前的窗口:

在此输入图像描述


笔记:

  • 我使用informix服务器版本:IBM Informix Dynamic Server Version 12.10.FC3
  • 我使用informix客户端SDK版本:3.50
  • 我使用Visual Studio 2012
  • .net框架4.5

编辑:根据建议:我跑C:\Windows\SysWOW64\odbcad32.exe

并配置我ODBC但仍然无法访问informix DB通过VS:

在此输入图像描述 在此输入图像描述 在此输入图像描述


EDIT2: 根据我已经安装IBM Informix Software Bundle并能够连接到visual studio 的建议View -->Server Explorer并找到所有表格.但是当我尝试通过Entity框架更改数据源时仍然无法找到informix odbc,如下所示: 在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述

c# informix visual-studio visual-studio-2012 entity-framework-6

17
推荐指数
2
解决办法
3924
查看次数

如何在具有名为"valid"的列的数据库上使用ActiveRecord?(DangerousAttributeError)

我正在访问一个我无法更改的数据库,它有一个名为valid defined 的列.每当我尝试访问属性时,我都会遇到以下异常:

有效?由ActiveRecord定义(ActiveRecord :: DangerousAttributeError)

异常是有道理的,但由于我无法更改数据库,如何解决此错误?

我尝试"覆盖"该属性,但我不知道如何删除原始列.我可以成功调用这个valid_column方法,但是每当我尝试访问数据库中定义的另一个属性时,我都会得到相同的异常.它似乎仍在尝试映射有效列.

  def valid_column=(valid)
    write_attribute(:valid, valid)
  end
  def valid_column
      read_attribute(:valid)
  end
Run Code Online (Sandbox Code Playgroud)

我不确定这是否重要,但以下是我的环境的详细信息:

  • Windows Ruby 1.8.6
  • Linux服务器上的Informix数据库
  • activerecord(2.3.4)
  • activerecord-informix-adapter(1.0.0.9250)
  • ruby-informix(0.7.1)

提前致谢!

informix activerecord ruby-on-rails

14
推荐指数
1
解决办法
6282
查看次数

使用可以为null的列测试不等式

所以,今天早上我问了一个问题,我没有正确说出,所以我得到了很多回复,为什么NULL与任何东西相比都会给出NULL/FALSE.

我的实际问题是,对于两个可以为NULL的两列测试不平等的方式,时间是多少.我的问题与这个问题恰恰相反.

要求如下,A和B是两列:
a)如果A和B都是NULL,它们是相等的,返回FALSE
b)如果A和B都不是NULL,则返回A <> B
c) A或B为NULL,它们不相等,返回TRUE

sql database null informix nullable

12
推荐指数
1
解决办法
4481
查看次数

在SQL中将字符串转换为HEX

我正在寻找一种方法将真正的字符串转换为SQL中的十六进制值.我正在寻找一些Informix友好的东西,但我显然更喜欢数据库中立的东西

这是我现在使用的选择:

SELECT SomeStringColumn from SomeTable
Run Code Online (Sandbox Code Playgroud)

这是我想要使用的选择:来自SomeTable的SELECT hex(SomeStringColumn)

不幸的是没有什么是那么简单... Informix给了我那条消息: 字符到数字转换错误

任何的想法?

sql informix hex

11
推荐指数
2
解决办法
9万
查看次数

Informix适合初学者

什么是Informix?我知道它是一个DBMS,它在学习困难和语法方面与SQL Server相比有多好?

如何开始学习Informix?我可以知道"你好世界"教程吗?

informix

9
推荐指数
2
解决办法
1万
查看次数

Informix的工具

是否有适用于Informix的工具,类似于SQL Server的"查询分析器"?

informix

9
推荐指数
2
解决办法
7069
查看次数

临时表的寿命

我有以下程序:

CREATE PROCEDURE foo ()
    SELECT * FROM fooBar INTO TEMP tempTable;

    -- do something with tempTable here

    DROP TABLE tempTable;
END PROCEDURE;
Run Code Online (Sandbox Code Playgroud)

如果在调用DROP TABLE之前发生异常会发生什么?foo退出后,tempTable还会出现吗?

如果是这样,foo可能会在下次调用时失败,因为tempTable已经存在.应如何处理.

编辑:我正在使用informix 11.5

sql database informix temp-tables

9
推荐指数
2
解决办法
1万
查看次数

如何在单个SQL CASE语句中获取多个列?

我试图从单个CASE语句中获取多个列(在这种情况下为insuredcode,insuredname).

已尝试以下查询,但它将insuredcode和insuredname连接为一列.

从这样的CASE语句中返回两列的正确语法是什么?

select
    case
        when a.policyno[2] in ('E', 'W') then c.insuredcode || c.insuredname
        else b.insuredcode || b.insuredname
    end
from prpcmain a
left join prpcinsured_1 b on b.proposalno=a.proposalno 
left join prpcinsured_2 c on c.proposalno=a.proposalno
where a.policyno in (select policyno from policyno_t);
Run Code Online (Sandbox Code Playgroud)

sql informix case

8
推荐指数
2
解决办法
4万
查看次数