【问题标题】:Visual basic dotnet Writting the same data to 2 different databasesVisual basic dotnet 将相同的数据写入 2 个不同的数据库
【发布时间】:2014-09-27 00:20:42
【问题描述】:

大家好,我目前正在使用 2 个数据库。 数据库编号 1 有一些数据需要写入基编号 2 由于安全问题,数据库位于 2 个不同的服务器上 决定制作一个 Windows 窗体应用程序来与这两个数据库进行交互。

数据库结构如下

数据库名称=编号 1 表名=A,B,C,D,E

数据库名称=编号 2 表名=W,X,Y,Z

目前我可以从我的文本框中将数据写入数据编号 1 中的表,但我不能将相同的数据写入数据库编号 2 中的表。

【问题讨论】:

    标签: .net database vb.net


    【解决方案1】:

    假设您不能或不想使用these options,并且只想直接从您的 winforms 应用程序在不同服务器上的两个数据库之间切换,那么这个 sn-p 就是一个可行的快速示例。

    Imports System.Data.SqlClient
    
    Public Sub ReadWriteDB1(sqlStatement)
        WriteData("Server=server1;Database=database1;User Id=sa;Password=pwd;", sqlStatement)
    End Sub
    
    Public Sub ReadWriteDB2(sqlStatement)
        WriteData("Server=server2;Database=database2;User Id=sa;Password=pwd;", sqlStatement)
    End Sub
    
    Private Sub WriteData(connectionString As String, sqlStatement As String)
        Dim cn As New SqlConnection(connectionString)
        Dim cmd As New SqlCommand(sqlStatement, cn)
        cn.Open()
        cmd.ExecuteNonQuery()
    End Sub
    

    【讨论】:

    • 1.两个数据库都有不同的结构。但是需要填充的列的数据类型相同。例如,在 DB number1 表中,A1 数据类型设置为 varchar(50),这与 DB number2 表中的 X2 设置为 varchar(50) 相同。数据库中的两个表都是平面文件。所以从逻辑上讲它应该可以工作,但我不能通过电子邮件将我的代码发送给任何人查看它并让我知道我哪里出错了谢谢
    【解决方案2】:

    如果 db1 正确保存数据,我敢打赌这不是应用程序的问题——而是 db2 的问题。尝试检查以下内容:

    1. 检查两个数据库(或您尝试编写的表)是否具有相同的结构?
    2. 检查您连接到 db2 的用户是否有写入权限?
    3. 如果使用纯 sql 查询,是否可以写入 db2?尝试使用从真实应用程序获取的结构和数据发出几个插入查询。您可以使用 SQL Server Profiler 之类的工具来捕获一些查询,然后将它们重新发送到 db2
    4. 您提到了更改表名。这两个数据库之间的架构差异如何?可能需要将整个(带前缀的)表名从dbo.A 更改为sth.W,而不是在查询中简单地将A 替换为W
    5. 我对您尝试存储的数据一无所知,但这可能是外键问题。确保两个数据库都有同步的“字典表”——但是这种问题应该由 ADO.NET 在异常消息中报告。

    如果上述方法失败,我们将需要一些负责持久性的代码。

    【讨论】:

    • 1.两个数据库都有不同的结构。但是需要填充的列的数据类型相同。例如,在 DB number1 表中,A1 数据类型设置为 varchar(50),这与 DB number2 表中的 X2 设置为 varchar(50) 相同。数据库中的两个表都是平面文件。所以从逻辑上讲它应该可以工作,但我不能通过电子邮件将我的代码发送给任何人查看它并让我知道我哪里出错了谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2015-10-11
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多