通过ODBC访问-Oracle默认不工作
我们通过ODBC使用MS Access作为Oracle表的前端,它一直运行良好。通过ODBC访问-Oracle默认不工作,oracle,ms-access,odbc,default,constraints,Oracle,Ms Access,Odbc,Default,Constraints,我们通过ODBC使用MS Access作为Oracle表的前端,它一直运行良好。 但是我们尝试在Oracle表中使用默认约束。当我们在Access中打开链接表时,可以很好地看到现有数据,但是当我们尝试添加一行时,如果没有在具有Oracle默认值(期望使用默认值)的列中键入任何值,我们会在每个列中看到#已删除,并且该行不会添加到表中。有什么想法吗?如果有帮助,我可以提供更多详细信息,请告诉我。如果您使用网格视图作为数据输入,我认为Access可能会显式地尝试插入一个空字符串作为该值。尝试为inse
但是我们尝试在Oracle表中使用默认约束。当我们在Access中打开链接表时,可以很好地看到现有数据,但是当我们尝试添加一行时,如果没有在具有Oracle默认值(期望使用默认值)的列中键入任何值,我们会在每个列中看到#已删除,并且该行不会添加到表中。有什么想法吗?如果有帮助,我可以提供更多详细信息,请告诉我。如果您使用网格视图作为数据输入,我认为Access可能会显式地尝试插入一个空字符串作为该值。尝试为insert编写普通SQL语句,看看会发生什么 我希望底层SQL是这样的(假设为name=“John”、balance=“0.0”设置了默认值) 通过栅格视图:
insert into customers (cust_id, name, balance) values (1, "Bob", 50.25);
如果其中一个是空的:
insert into customers (cust_id, name, balance) values (2, "", 0);
但是,通过SQL:
insert into customers (cust_id, name) values (3, "Pete");
insert into customers (cust_id) values (4);
我假设SQL示例使用未设置列的默认值,但网格视图从UI提供空值,这将阻止使用默认值。如果您使用网格视图作为数据输入,我认为Access可能会显式尝试插入空字符串作为该值。尝试为insert编写普通SQL语句,看看会发生什么 我希望底层SQL是这样的(假设为name=“John”、balance=“0.0”设置了默认值) 通过栅格视图:
insert into customers (cust_id, name, balance) values (1, "Bob", 50.25);
如果其中一个是空的:
insert into customers (cust_id, name, balance) values (2, "", 0);
但是,通过SQL:
insert into customers (cust_id, name) values (3, "Pete");
insert into customers (cust_id) values (4);
我假设SQL示例使用未设置列的默认值,但网格视图从UI中提供空白值,这将阻止使用默认值。不知道Oracle,但要使用SQL Server实现这一点,您的表中需要一个时间戳字段。不知道Oracle,但是,要使用SQL Server实现这一点,表中需要一个时间戳字段