Так я использую Visual Studio 2013 (Community)Загрузить/сохранить документы на сервер SFTP Linux с VB.NET
И до сих пор я построить программу, которая может создавать файлы, используя текстовые поля и так далее.
Это экономит XML, и мы надеемся, читает XML (Даже если я получаю доступ запрещен)
Пришло время для применения, чтобы поговорить с сервером, в котором будут храниться все файлы, и читать из.
Сервер является Linux Server Edition (последний), и его работа прекрасна. Я хочу, чтобы мое приложение подключилось к нему, войдите в систему, а затем просто просмотрите и прочитайте файлы с сервера.
До сих пор это делается немного.
Private Sub Loginbutton_Click(sender As Object, e As EventArgs) Handles Loginbutton.Click
Dim mySessionOptions As New SessionOptions
With mySessionOptions
.Protocol = Protocol.Sftp
.HostName = "192.168.0.247"
.UserName = "username" - these are default on purpose
.Password = "password"
.SshHostKeyFingerprint = "ssh-rsa 2048 [Hidden]"
End With
Using mySession As Session = New Session
' Connect
mySession.Open(mySessionOptions)
End Using
Form1.Show()
Me.Close()
End Sub
Это работает как шарм, и оно движется дальше.
После Form1
загружен, его показывает мне правильные файлы из папки сервера ..
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each i As String In Directory.GetFiles("\\192.168.0.247\Database")
Objectlist1.Items.Add(Path.GetFileName(i))
Next
Objectlist1.Refresh()
End Sub
И когда я сохранить файлы на него
Private Sub Savebutton_Click(sender As Object, e As EventArgs) Handles Savebutton.Click
If IO.File.Exists(Pholderbox.Text) = False Then
Dim settings As New XmlWriterSettings()
settings.Indent = True
Dim XmlWrt As XmlWriter = XmlWriter.Create("\\192.168.0.247\Database\" + Pholderbox.Text, settings)
With XmlWrt
Все, что работает, как предполагалось.
Я хочу отметить, что папка в вопросе, или «Share» в вопросе о сервере, защищен паролем, и имя пользователя и пароль вставлены в Вход кодекса (Temporary)
Моя проблема приходит сюда когда я дважды щелкнул файл (активировать), чтобы ПРОЧТИТЬ его.
Private Sub Objectlist1_ItemActivate(sender As Object, e As EventArgs) Handles Objectlist1.ItemActivate
Caseworker.Show()
Me.Objectlist1.MultiSelect = False
Dim selectedListViewItem As String
selectedListViewItem = Me.Objectlist1.SelectedItems.Item(0).ToString
Const basepath As String = "\\192.168.0.247\Database"
Dim xmlpath = IO.Path.Combine(basepath, Objectlist1.SelectedItems.Item(0).Text)
If (IO.File.Exists(xmlpath)) Then
Dim document As XmlReader = New XmlTextReader(basepath)
Dim mySessionOptions As New SessionOptions
While (document.Read())
' - This little bugger screams out everytime
' "An unhandled exception of type 'System.UnauthorizedAccessException' occurred in System.Xml.dll
' Additional information: Access to the path '\\192.168.0.247\Database' is denied."
Что в этом нет, не так ли? Я бы предположил, так как он может перечислить содержимое этой папки, и для тестирования я дал EVERYONE Полный доступ к этой папке (User, Group, Other) FULL Access в Linux (0777)
Я так сказал, чтобы проверить, если это поможет.
Возможно, это из-за вашей экспертизы, поскольку оно связано с библиотекой WinSCP и фактически является сервером Linux.
Будучи единственной функцией «Чтение XML», которая отрицает это, я должен быть очень близок?
Я вижу, что очень многие полагают, что другие сторонние библиотеки, лучшие для меня, будут решением на простом VB.NET, если это возможно.
О порядке. Если кто-то задается вопросом, или если это помогает, это мои Импорт; Импорт System.IO Импорт System.Xml Импорт System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock Импорт System.Windows.Forms Импорт System.Xml.XmlReader Импорт System.Windows.Forms.TextBox Импорт системы Imports System.Windows.Forms.ListView Imports System.Net Импорт WinSCP – PiperMp3
Если вы закроете свое приложение, перезапустите его и попытайтесь открыть файл, не сохраняя его первым, работает ли он? –
Остановить отладку, начать отладку, открыть файл, который был сохранен/создан ранее, вы имеете в виду? Я не могу проверить до завтра, так как офис закрыт. Но я отдам тебе дорогу и вернусь к тебе! – PiperMp3