0

でVirtuoso Serverに接続しようとしていますdotnetrdfドキュメントには次のような例があります...

//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をパラメーターとして試してみました (ただし、これは必要なポートではないと思います)。同じ結果が得られました。ポートを省略すると、ターゲット コンピューターが接続を拒否したというエラーが表示されます。

前もってありがとう、
フランク

4

1 に答える 1

2

あなたの問題はここにあります -

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

dotnetrdf接続は経由ではありませんhttp/https。最初の引数は、ホスト名、つまりmyhost.org.

上記を次のように変更するだけで、すぐにエラーが解決するはずです-

VirtuosoManager("myhost.org", 1111, "DB", "username", "password");
于 2016-10-06T13:58:05.453 に答える