[Mono-list] Database/network access permissions

Daniel Freund Daniel.Freund@zkrd.de
Thu, 12 Aug 2004 11:03:27 +0200 (CEST)


I try to access a Firebird 1.5 database with the data provider supplied by
the ibphoenix.com site. The data provider version is 1.6; I use Mono 1.0.1
on SuSE 9.1

When I run my test program (code see below) as root everything goes ok. If
I run the program as normal user, I get the following:

> mono FBTest.exe
Firebird Test
Connection String :
--> Unable to complete network request to host "".

in <0x000d0> FirebirdSql.Data.Firebird.FbDbConnection:Connect ()
in <0x0004f> (wrapper remoting-invoke-with-check)
FirebirdSql.Data.Firebird.FbDbConnection:Connect ()
in <0x001e2> FirebirdSql.Data.Firebird.FbConnection:Open ()
in <0x0004f> (wrapper remoting-invoke-with-check)
FirebirdSql.Data.Firebird.FbConnection:Open ()
in <0x00126> FBTest.MainClass:Main (string[])

Any ideas? Is this a permission or configuration problem?
BTW, I can access my Firebird as user using the isql command line.
Initially I came over this problem with an ASP.NET page. If I run
XSP/mod_mono_server as root everything is fine. If Apache starts
mod_mono_server itself (as wwwrun), I also get the "unable to complete
network request ..." error.

Here comes the example code:

using System;
using System.Data;
using FirebirdSql.Data.Firebird;

namespace FBTest
	class MainClass
		public static void Main(string[] args)
			Console.WriteLine("Firebird Test");

		    string database  = @"/opt/firebird/db/TEST.FDB";
          string server    = "";
		    string user      = "SYSDBA";
		    string pass      = "masterkey";

          string connString =
                              user, pass, database, server);

          Console.WriteLine("Connection String : " + connString);

          try {
    		    FbConnection conn = new FbConnection(connString);
    		    FbCommand command = new FbCommand("select * from navigation",
    		    FbDataReader reader = command.ExecuteReader();

           	 while(reader.Read()) {
               Console.WriteLine("Table: " + reader.GetValue(0));

           } catch (Exception e) {
               Console.WriteLine("--> " + e.Message);