通过 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 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Oracle11G_JAVA操作数据库

oracle数据库访问

请问VC++中如何连接odbc数据源,具体步骤!谢谢!

无法使用 MS Access 2007 访问 ODBC DB

Linux 配置ODBC连接Oracle

Access数据库通过ODBC导出到Oracle的两个小问题ora-24801Ora-01401