请启用TCP / IP协议。 Unity3D

时间:2012-10-26 22:01:27

标签: networking tcp protocols unity3d

我正在尝试连接到MS SQL数据库。 这是我的代码:

void Start ()
    {
        string connectionString =
            "Server=MyServer;" +
            "Database=Data;" +
            "User ID=User;" +
            "Password=psd;" +
            "Integrated Security=SSPI";
               Debug.Log("conn string");

    List<int> result = new List<int>();

        string sql = "SELECT RecordCount FROM MainDB";
        IDbConnection dbcon;
        dbcon = new SqlConnection (connectionString);
        dbcon.Open ();
        IDbCommand dbcmd = dbcon.CreateCommand ();
              dbcmd.CommandText = sql;
        IDataReader rdr = dbcmd.ExecuteReader ();

        while (rdr.Read()) {
            result.Add ((int)rdr.GetValue(0));
        }

        Debug.Log("get"); 
        // clean up
        rdr.Close ();
        rdr = null;
        dbcmd.Dispose ();
        dbcmd = null;
        dbcon.Close ();
    dbcon = null;
    }

我从mono-project复制了大部分代码。我在防火墙规则中允许UDP端口1434和mono.exe。我仍然得到消息:

  

NotImplementedException:Mono不支持名称管道或共享   用于连接SQL Server的内存。请启用TCP / IP   协议。   System.Data.SqlClient.SqlConnection + SqlMonitorSocket.DiscoverTcpPort   (Int32 timeoutSeconds)   System.Data.SqlClient.SqlConnection.DiscoverTcpPortViaSqlMonitor   (System.String ServerName,System.String InstanceName)   System.Data.SqlClient.SqlConnection.ParseDataSource(System.String   theDataSource,System.Int32&amp; thePort,System.String&amp; theServerName)   System.Data.SqlClient.SqlConnection.Open()ConnectToDB.Start()(at   资产/ ConnectToDB.cs:33)

我错过了什么?

1 个答案:

答案 0 :(得分:1)

如果您需要帮助建立TCP / IP套接字,可以使用流行的第三方解决方案,例如SmartFox ServerPhoton