2016-10-06 75 views
0

我嘗試連接到我的Virtuoso Serverdotnetrdf。有an example in the documentation認爲是這樣......用DotNetRDF連接到Virtuoso

//Create our Storage Provider - this example uses Virtuoso Universal Server 
VirtuosoManager virtuoso = new VirtuosoManager("https://myhost.org", 1111, "DB", "username", "password"); 

//Load the Graph into an ordinary graph instance first 
Graph g = new Graph(); 
virtuoso.LoadGraph(g, new Uri("http://example.org/")); 

我更換用戶名和密碼與我的憑據,但是當涉及到virtuoso.LoadGraph線,我得到了FormatException,說:

The input string has the wrong format with the following stacktrace: 

bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) 
bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) 
bei OpenLink.Data.Virtuoso.TcpConnection.GetEndPoint(String ds) 
bei OpenLink.Data.Virtuoso.TcpConnection.Open(ConnectionOptions options) 
bei OpenLink.Data.Virtuoso.VirtuosoConnection.CreateInnerConnection(ConnectionOptions options, Boolean enlist) 
bei OpenLink.Data.Virtuoso.ConnectionPool.GetConnection(ConnectionOptions options, VirtuosoConnection connection) 
bei OpenLink.Data.Virtuoso.VirtuosoConnection.Open() 
bei VDS.RDF.Storage.VirtuosoManager.Open(Boolean keepOpen, IsolationLevel level) 
bei VDS.RDF.Storage.VirtuosoManager.LoadGraph(IRdfHandler handler, Uri graphUri) 
bei VDS.RDF.Storage.VirtuosoManager.LoadGraph(IGraph g, Uri graphUri) 
bei VirtuosoTest.MainWindow.LoadGraph() in C:\Users\devfs\Documents\Visual Studio 2015\Projects\Test\VirtuosoTest\VirtuosoTest\MainWindow.xaml.cs:Zeile 40. 
bei VirtuosoTest.MainWindow..ctor() in C:\Users\devfs\Documents\Visual Studio 2015\Projects\Test\VirtuosoTest\VirtuosoTest\MainWindow.xaml.cs:Zeile 30. 

不幸的是,當試圖弄清楚什麼可能是錯誤的時候,這並沒有什麼幫助。任何想法,我能做些什麼來縮小問題的範圍?

PS:我可以通過https://myhost.org:8890/conductor訪問Virtuoso導體,我也試過端口8890作爲參數(但我認爲這不是所需的端口),結果相同。如果我省略端口,則會出現錯誤,目標計算機拒絕連接。

由於提前,
弗蘭克

回答

2

你的問題就出在這裏 -

VirtuosoManager("https://myhost.org", 1111, "DB", "username", "password"); 

dotnetrdf連接不通過http/https;第一個參數應該只是主機名,即myhost.org

簡單地改變上述以下應該可以解決眼前的錯誤 -

VirtuosoManager("myhost.org", 1111, "DB", "username", "password"); 
+0

這就是它!非常感謝你! – Aaginor