2012-12-04 2 views
1

Server SQL 2008을 실행하는 컴퓨터가 있습니다. 설치하지 않은 것은 인벤토리를 유지하기 위해 구입 한이 소프트웨어에서 설정 한 것입니다. 그것은 MYSQL 데이터베이스로 전송하고자하는 테이블을 가지고 있습니다. (내 웹 사이트가 mysql과 작동하기 때문에 - 전송을하고 싶습니다.)SQL 서버 2008에서 데이터를 가져 오려고 시도했습니다. 이진 형식

그래서 나는 VB.NET을 사용하여 데이터를 읽는 프로그램을 만들기로 결정했습니다. SQL Server 2008을 실행 한 다음 MYSQL의 테이블에 삽입하십시오. 테이블이 동일하게 설정되어 있고 열 당 동일한 열과 데이터 형식이 있는지 확인합니다.

전적으로 잘 전달할 테이블이 하나 있습니다. 그러나이 특정 테이블을 전송하려고했는데 BINARY (8) 형식의 열이 있습니다. MSSM 자체를 사용하여 서버 컴퓨터에서 선택을 수행 할 때 이진 (8) 열 행에 16 진수 값이 표시됩니다. 그래서 값은 0x3920409F332D234와 같습니다.

그래서 나는 분명히 동일했다,하지만 난 서버 SQL 밖으로 끌어와 MySQL에 삽입하려고 할 때, 그것은 나 오류가 발생 MYSQL의 테이블 설정 (그냥이 특정 열을.)

에서 VB.NET, Byte() 배열을 선택하여 데이터를 검색 한 다음 MYSQL에 쿼리 문을 사용하여 해당 데이터를 삽입하려고했지만 너무 길다. 이것이 바이너리 데이터를 저장하는 올바른 변수인지 확실하지 않았습니다.

솔직히이 열이 필요할 지 모르겠습니다. 나는 그것이 무엇인지 모른다. 그러나 필요한 테이블의 대부분은이 데이터를 가지고 있으므로 안전하게 보관하고 싶습니다.

TY

그것은 편집 충돌을 감지하는 데 사용되는 "타임 스탬프"또는 "rowversion"열, 같은 소리
+1

컬럼의 이름은 무엇입니까? 읽으려는 코드는 무엇입니까? 코드를 작성하는 데 사용하는 코드는 무엇입니까? 당신이 겪고있는 오류는 무엇입니까? –

답변

0

먼저 데이터를 웹 사이트 데이터베이스로 전송하는 이유는 무엇입니까? 당신이 그것을 옮겨서 값을 표시 할 수 있도록 그것을 옮기고 있다면, 그 열을 복사하는 것을 건너 뛸 수 있습니다. 간단히 말하면, 그것이 무엇인지 모르는 경우 어떻게 그리고 왜 데이터를 표시 할 것입니까?

둘째, 다중 사용자 환경에서 기본적으로 저장 확인으로 작은 바이너리 열 (내 소프트웨어에서 열 이름은 타임 스탬프)을 사용하여 구입 한 소프트웨어를 보았습니다. 기본적으로 소프트웨어는 레코드를 열 때 값을 읽은 다음 저장하면 데이터베이스의 값이 변경되지 않았는지 확인합니다. 그렇지 않으면 업데이트됩니다. 그렇다면 "다른 사용자가이 레코드를 수정했습니다. 변경 사항을 다시 실행하고 다시 시도하십시오."와 같은 경고가 표시됩니다. 그래서 가능한 모든 것이이 이진 열입니다.

그러나 여전히 데이터를 복사하거나 적어도 이진 열을 사용하여 작업하는 방법을 알아 내려면 코드 중 일부를 표시하고 가져 오는 오류에 대해보다 구체적으로 설명해야합니다. 또는 당신은 이러한 리소스에 좀 걸릴 수 있습니다 :

Binary Data in MySQL

simple MySQL binary data inserting

0

. 아마 그것을 무시할 수 있습니다.

그러나 복사하려는 경우 이진 코드를 SQL로 인코딩해야합니다. MySQL 구문은 확실하지 않지만 SQL Server의 경우 다음을 사용합니다.

''' <summary>' 
''' Converts binary data to a String for use in an SQLS2005 SQL statement (e.g. "0x000000000000006A")' 
''' </summary>' 
''' <param name="data">Required Byte(). 0-based 1-dimensional array of binary data to convert</param>' 
''' <returns></returns>' 
''' <remarks></remarks>' 
Public Function Byte2SQL(ByVal data() As Byte) As String 
    Dim sbl As New System.Text.StringBuilder("0x") 
    For i As Integer = data.GetLowerBound(0) To data.GetUpperBound(0) 
    sbl.Append(Right("00" & Hex(data(i)), 2)) 
    Next i 
    Return sbl.ToString 
End Function 
관련 문제