2008-12-24 6 views
1

Nous utilisons MS Access en tant que front-end aux tables Oracle, via ODBC, et cela a bien fonctionné. Mais nous essayons d'utiliser la contrainte DEFAULT dans une table Oracle. Lorsque nous ouvrons la table liée dans Access, nous voyons très bien les données existantes, mais lorsque nous essayons d'ajouter une ligne, sans entrer de valeur dans les colonnes qui ont un DEFAULT Oracle (en supposant que la valeur par défaut soit utilisée), nous voyons # Supprimé dans chaque colonne et la ligne n'est pas ajoutée à la table. Des idées? Je peux fournir plus de détails si cela peut aider, faites le moi savoir.Accès via ODBC - Oracle DEFAULT ne fonctionne pas

Répondre

1

Si vous faites ceci avec la vue de grille comme entrée de données, je penserais qu'Access essaye explicitement d'insérer une chaîne vide en tant que cette valeur. Essayez d'écrire l'instruction SQL claire pour l'insertion et voir ce qui se passe.

Je pense SQL sous-jacente comme ceci (en supposant des valeurs par défaut définies pour name = "John", l'équilibre = "0.0") ...

Via vue grille:

insert into customers (cust_id, name, balance) values (1, "Bob", 50.25); 

et si on était vide:

insert into customers (cust_id, name, balance) values (2, "", 0); 

Mais, via SQL:

insert into customers (cust_id, name) values (3, "Pete"); 
insert into customers (cust_id) values (4); 

Je suppose que l'exemple SQL utilise les valeurs par défaut pour les colonnes non définies, mais que la vue de grille fournit des valeurs vides à partir de l'interface utilisateur, ce qui empêcherait l'utilisation des valeurs par défaut.

0

Vous ne connaissez pas Oracle, mais pour que cela fonctionne avec SQL Server, vous avez besoin d'un champ d'horodatage dans votre table.