在尝试将数据库表中的记录插入到另一个数据库表中时遇到问题,我想知道当我有与两个数据库相关的两个不同的连接字符串时,如何用一个连接字符串执行查询,我的代码如下所示
Friendly
我收到此错误消息:
无效的对象名称'Database1.Caisse'。
我正在使用Visual Studio WPF作为IDE
答案 0 :(得分:0)
尝试一下:
insert.CommandText = "insert into Caisse ([N° Caisse], [Date d'Ouverture], [Date de Clôture], [Fond de Caisse], [Vendeur]) select * from Database1.dbo.Caisse x where x.[N° Caisse] = @Réf";
还有另一种可能适用的 dirty 解决方案:
insert.CommandText = "use Archive; create table ##TempTb (a int,b datetime, c datetime, d money, e int); insert into ##TempTb select ([N° Caisse], [Date d'Ouverture], [Date de Clôture], [Fond de Caisse], [Vendeur]) from Caisse where [N° Caisse] = @Réf; Use Database1; insert into Caisse ([N° Caisse], [Date d'Ouverture], [Date de Clôture], [Fond de Caisse], [Vendeur]) select * from ##TempTb;";
答案 1 :(得分:0)
尝试一下:
insert.CommandText = "INSERT INTO Caisse([N° Caisse],[Date d'Ouverture],[Date de Clôture],[Fond de Caisse],[Vendeur]) SELECT [N° Caisse],[Date d'Ouverture],[Date de Clôture],[Fond de Caisse],[Vendeur] FROM Database1.Caisse WHERE Databse1.Caisse.[N° Caisse]=@Réf";
答案 2 :(得分:0)
怎么样
insert.CommandText = "INSERT INTO CurrentDatabase.CurrentSchema.Caisse([N° Caisse],[Date d'Ouverture],[Date de Clôture],[Fond de Caisse],[Vendeur]) SELECT * FROM Database1.Schema.Caisse WHERE Databse1.Schema.Caisse.[N° Caisse]=@Réf"
CurrentDatabase.CurrentSchema.Caisse
是目标表。
Database1.Schema.Caisse
是源表
请注意,对于SELECT
语句,最好使用列名而不是*
,但是如果SELECT *
返回的列与目标表相同,则可以使用。
但是,您可能会检查连接,因为我认为您只是连接到Archive
数据库。在这种情况下,您需要连接到两个数据库,从Dabase1.Caisse
获取数据,然后将其插入到Archive.Caisse
表中。
答案 3 :(得分:0)
我终于找到了答案,可以通过以下方式完成:
Push failed: Failed with error: unable to access `'https://github.com/yourLogin/yourProject.git/': The requested URL returned error: 403`
可以使用SqlConnection.Database属性访问目标数据库。