发现一个数据连接的Provider的问题[Access适用]
错误类型:
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=这样的驱动下就不需要修改。
我想这是因为两个驱动中对关键字的定义不一样。所以如果把连接驱动修改一下可能需要注意这个细节,不然会发很多的时间去调试。修改的东西就是那个与关键字类似的字段或表名需要注意的。建议在设计的时候就应该尽量避免这些关键字。
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=这样的驱动下就不需要修改。
我想这是因为两个驱动中对关键字的定义不一样。所以如果把连接驱动修改一下可能需要注意这个细节,不然会发很多的时间去调试。修改的东西就是那个与关键字类似的字段或表名需要注意的。建议在设计的时候就应该尽量避免这些关键字。