Японский символ из результата запроса не работает (VBA Oracle) - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь получить данные из моего oracle дБ с помощью Excel VBA. Я установил соединение и успешно извлекаю данные, однако мои данные, содержащие символы японского языка, повреждены. Это стало что-то вроде "A14 ソ ソ: ソ ソ ソ ソ ソ ソ: ソ ソ ソ ソ (ソ ソ ソ ソ ソ)"

Мне нужно установить кодировку в Unicode или UTF-8. Как установить кодировку в dbconnection от VBA?

Sub Connection()
Dim DBcon As ADODB.Connection
Dim DBrs As ADODB.Recordset
Set DBcon = New ADODB.Connection
Set DBrs = New ADODB.Recordset
Dim DBHost As String
Dim DBPort As String
Dim DBsid As String
Dim DBuid As String
Dim DBpwd As String
Dim DBQuery As String
Dim ConString As String
Dim intColIndex As Integer
On Error GoTo err

DBHost = "127.0.0.1"
DBPort = "1521"
DBsid = "ORCL"
DBuid = "TEST"
DBpwd = "TEST"

ConString = "Driver={Microsoft ODBC for Oracle}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=" & DBHost & ")(PORT=" & DBPort & "))" & _
"(CONNECT_DATA=(SID=" & DBsid & "))); uid=" & DBuid & "; pwd=" & DBpwd & ";"

DBcon.Open (ConString) 'Connecion to DB is made
DBQuery = "SELECT * FROM MYTABLE" 

DBrs.Open DBQuery, DBcon
If Not DBrs.EOF Then 'to check if any record then

    Sheets("data").Range("A2").CopyFromRecordset DBrs
    For intColIndex = 0 To DBrs.Fields.Count - 1  ' recordset fields
        Sheets("data").Cells(1, intColIndex + 1).Value = DBrs.Fields(intColIndex).Name
    Next
End If

DBcon.Execute DBQuery
MsgBox ("Query is successfully executed")


DBcon.Close
Exit Sub
err:
MsgBox "Following Error Occurred: " & vbNewLine & err.Description
DBcon.Close


End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...