Страница: 1 |
Страница: 1 |
Вопрос: Oracle и XML
Добавлено: 18.06.07 19:00
Автор вопроса: Shota
Люди помогите, есть база Oracle, там таблица с полем
xmltype
в поле данные, болше 32000 byte
Пытался соединится из foxpro и из vbnet, в обоих случаях дает ошибку переполнения...
Как же получить этот xml....... а?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 18.06.07 22:31
ODBC помойму работает с ораклом...
Номер ответа: 2
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #2
Добавлено: 20.06.07 18:17
Покажите код .NET
Номер ответа: 3
Автор ответа:
Shota
Вопросов: 22
Ответов: 52
Профиль | | #3
Добавлено: 29.06.07 15:29
Павел, я все понял:
Вначале я использовал - System.Data.OracleClient
поэтому и неполучалось
потом скачал с сайта Oracle ODP.NET
(OracleDataProvider for .NET)
установил и все работает
в чем еще плюсы этого ODP.NET
он полностью интегрируестся в VS.NET со своими help-ами, server explorer-ом!!!
далее привожу работающий код
Imports oracle.DataAccess.Client
' если заменить первую строку на следующую тогда выдает ошибку
'Imports System.Data.OracleClient
Module Module1
Private cnn As New OracleConnection
Private cmd As New OracleCommand
Private dr As OracleDataReader
Sub Main()
Console.WriteLine("----------begin----------"
Dim stTemp As String
If connect() = False Then
Exit Sub
End If
With cmd
' exp_xml_small - поле в котором хранится XML
' key_exp - ключевое поле
.CommandText = "SELECT exp_xml_big FROM t_exp WHERE (key_exp = 375)"
.CommandType = CommandType.Text
.Connection = cnn
End With
Try
dr = cmd.ExecuteReader()
Catch ex As Oracle.DataAccess.Client.OracleException
Console.WriteLine(ex.Message)
cnn.Close()
Console.ReadLine()
Exit Sub
End Try
Do While dr.Read
stTemp = dr.GetString(0)
Console.WriteLine(stTemp)
Console.WriteLine("--------------"
Console.WriteLine(stTemp.Length.ToString)
Loop
cnn.Close()
Console.WriteLine("------------end ---------"
Console.ReadLine()
End Sub
Private Function connect() As Boolean
Dim bld As New OracleConnectionStringBuilder
With bld
.DataSource = "test"
.UserID = "shota"
.Password = "shota"
cnn.ConnectionString = .ConnectionString
End With
Try
cnn.Open()
Catch ex As OracleException
Console.WriteLine(ex.Message)
Console.ReadLine()
Return False
End Try
Return True
End Function
End Module