当前我正在执行从Microsoft Access数据库到SQL Express 2010数据库的迁移。将Access数据库转换为SQL
基本上,我有一个搜索客户数据库的Access应用程序。访问应用程序分为两部分开发。每个客户端上的访问前端名为application.mdb,而在Windows 2008服务器上的数据后端名为data.mdb。 application.mdb具有3个到data.mdb的链接表。持有客户和合同以及物品。客户表涉及到合同表(一对多)和合同表涉及到的项目表(一对多)
我将data.mdb中的表导入到sql表中并以相同的名称创建并创建相同的关系并将它们配置为级联。然后,我在客户端上创建了一个obdc连接,并更新了application.mdb中的3个链接表以指向sql server上的表。
我启动应用程序,一切似乎都很好,我可以完美地看到所有数据,性能提升非常值得。
然后,我发现一个问题,当我添加一个新的客户到数据库时,它自动编号客户表和合同表,但不是项目表....因此,如果我试图改变项目中的任何项目新客户的桌子我不能。我得到以下错误“无法添加记录;”表“项”的主键不在记录集“这是有道理的,因为SQL没有自动编号的项目表。
我不明白为什么....
任何帮助将不胜感激。
你可以发表项目表def吗? – roberttdev 2011-05-23 12:44:19
您是否试图在绑定到SQL语句的窗体中添加记录,这些SQL语句中有多个表? – 2011-05-28 23:46:07
此外,请确保每个表都有一个时间戳字段。如果您使用SSMA for Access迁移数据,您可能会获得更好的结果,因为它足够聪明,可以将事物从Jet/ACE转换为SQL Server,从而最大限度地减少事件中断的可能性(并且它会添加时间戳记字段为你自动)。 – 2011-05-28 23:49:33