的MS Access连接到两个的Dbs
问题描述:
我上有两个数据库的连接一个是在Azure中托管SQL Server的Microsoft Access项目的工作,另一个是MySQL的托管Linux服务器上。的MS Access连接到两个的Dbs
在我的表单中,我试图将数据从MySQL导入Azure服务器。
我已经成功连接到数据库和插入值到我的数据库
From MySql /Linux ---- INTO ----> Azure/SQL
通过查询和通过我的代码都手动插入。我的表单上的代码本质上是运行一个SQL查询来从表MySQL中选择到SQL Server数据库中。
我有一个主键是目标表中的唯一标识(guid)。所以当然这不能为空。在测试中,我通过SQL插入语句在表中手动插入了一条记录。看到这个工作,所以我继续测试相同的查询,由按钮点击事件触发。哪些工作。它将从另一个表中导入记录,并且默认创建一个指导。然而,经过进一步测试,我开始意识到,当我使用空表时,它不会成功导入到另一个表中。 Access将按钮单击运行查询,但会警告我没有记录会被传输。
我的问题是为什么?我错过了什么,以正确地插入一个新的记录到一个空表?它似乎只与具有现有记录的表一起工作。
答
有可能是术语问题。使用Access的术语;您可以分两步进行:使用查询设计视图功能
a。使用要移动的记录表进行选择查询。用名字保存 - 我现在将它命名为Q1。
b。创建追加查询;首先选择Q1作为记录来源 - 当您将其识别为追加记录时,它会询问目的地表格,然后您将选择该记录。然后根据需要调整字段。将其另存为A2查询。
然后你需要做的就是在持续的意义上激发A2查询。
在Access术语中,有一个选择,附加,更新和不插入 - 所以虽然更新查询的SQL语法确实是插入所有我能想到的可能是您调用更新方法,当然这需要有一个超过写的记录。
希望这会有所帮助。
这实际上取决于您的确切设置以及查询的内容。我不认为没有进一步的信息,任何人都可以回答这个问题 –
我很困惑,“使用空表,它不会成功导入到另一个表”。当然,如果一个表是空的,那么没有记录要导入到另一个表中。然后你说“插入一个新的记录到一个空的表格”。那么目标表是空的,并且导入失败?那会很奇怪。发布查询和代码进行分析。 – June7
啊,我没有正确说出它。我正在尝试将新记录插入空表中。查询的样本版本是这样的... INSERT INTO destTable(DateEntered,名字,姓氏) SELECT sourceTable.DateCreated,sourceTable.FirstName,sourceTable.LastName FROM sourceTable会,destTable –