通过 ODBC 访问 - Oracle DEFAULT 不起作用
Posted
技术标签:
【中文标题】通过 ODBC 访问 - Oracle DEFAULT 不起作用【英文标题】:Access via ODBC - Oracle DEFAULT not working 【发布时间】:2008-12-24 18:41:09 【问题描述】:我们通过 ODBC 将 MS Access 用作 Oracle 表的前端,并且一直运行良好。 但是我们正在尝试在 Oracle 表中使用 DEFAULT 约束。当我们在 Access 中打开链接表时,我们可以看到现有数据,但是当我们尝试添加一行时,没有在具有 Oracle DEFAULT 的列中键入任何值(期望使用默认值),我们会看到 #在每一列中删除,并且该行不会添加到表中。有任何想法吗?如果有帮助,我可以提供更多详细信息,请告诉我。
【问题讨论】:
【参考方案1】:如果您使用网格视图作为数据输入来执行此操作,我认为 Access 可能会显式尝试插入一个空字符串作为该值。尝试为插入编写简单的 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 提供空白值,这将阻止使用默认值。
【讨论】:
【参考方案2】:不知道关于 Oracle 的情况,但要使其与 SQL Server 一起使用,您需要在表中添加一个时间戳字段。
【讨论】:
以上是关于通过 ODBC 访问 - Oracle DEFAULT 不起作用的主要内容,如果未能解决你的问题,请参考以下文章