发现一个数据连接的Provider的问题[Access适用]

博客指出连接Access时,常出现INSERT INTO语句语法错误。将该语句放Access查询里执行正常,原因可能是语句里字段与关键字冲突,如Password,改成 [Password]可解决。不同驱动对关键字定义不同,修改连接驱动需注意,设计时应避免用关键字。
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。

经常在做连接到Access时候会出现这样的错误。

如果你把Inert Into语句放到Access的查询里执行都是很正常的,网上也针对这个做了很多的解释。我的解释是Insert into语句里的字段可能与关键冲突了,如Password 。要改成 [Password]即可正常。

如果是用 Provider=Microsoft.Jet.OLEDB.4.0;字段定义成password、user就会不行,如果在driver={Microsoft Access Driver (*.mdb)};dbq=这样的驱动下就不需要修改。

我想这是因为两个驱动中对关键字的定义不一样。所以如果把连接驱动修改一下可能需要注意这个细节,不然会发很多的时间去调试。修改的东西就是那个与关键字类似的字段或表名需要注意的。建议在设计的时候就应该尽量避免这些关键字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值