我有一台运行Server SQL 2008的计算机。它不是由我设置的,而是由我购买的此软件用于保持库存的设置。它有一个我要转移到MYSQL数据库的表(因为我的网站与mysql兼容-我想进行转移的原因。)
因此,我决定使用VB.NET编写一个程序,该程序从SQL Server 2008读取数据,然后将其插入MYSQL的表中。我确保表的设置相同,并且每列具有相同的列和数据类型。
我有一张桌子可以转让。但是,我尝试转移此特定表,并且它具有BINARY(8)类型的列。我应该提到的是,当我使用MSSM本身在服务器计算机上进行选择时,它将在binary(8)列行中显示十六进制值。因此,值类似于0x3920409F332D234。
因此,我显然在MYSQL中建立了一个表,该表是相同的,但是当我尝试将其从服务器sql中拉出并插入到mysql中时,会抛出错误(仅此特定列)。
在VB.NET中,我尝试制作一个Byte()数组以在选择数据后检索数据,然后将带有查询语句的数据插入MYSQL,但是它说“过长”。我不确定这是否是保存二进制数据的正确变量。
老实说,我不确定我是否甚至需要此专栏。我不确定这是什么。但是我需要的大多数表都有此数据,因此我想保持安全。
TY
最佳答案
首先,为什么要将数据传输到您的网站数据库?如果只是将其移到那里以便可以读取并显示值,则可以跳过尝试复制该列的操作。简而言之,如果您甚至不知道数据是什么,将如何以及为什么要显示数据?
其次,我看到购买的软件使用小的二进制列(在我的软件中,列名称为Timestamp),基本上是在多用户环境中进行的保存检查。基本上,软件会在您打开记录时读取该值,然后在保存时会检查以确保数据库中的值未更改。如果没有更新。如果是这样,它将显示警告,例如“另一个用户已修改此记录,请重做您的更改,然后重试。”因此,可能所有这些二进制列就是这些。
但是,如果您仍然想复制数据,或者至少想出如何使用二进制列的方法,则必须显示一些代码,并更详细地说明所遇到的错误。或者,您可以查看以下资源:
Binary Data in MySQL
simple MySQL binary data inserting
关于mysql - 尝试从SQL Server 2008 Binary类型提取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13713952/