请启用TCP/IP协议。Unity3D

3

我正在尝试连接到 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& thePort, System.String& theServerName) System.Data.SqlClient.SqlConnection.Open() ConnectToDB.Start() (at Assets/ConnectToDB.cs:33)”
我错过了什么?

这似乎不是Unity的问题,而是Mono和MS SQL之间的问题。你应该重新标记/重新提出你的问题,以便于MS SQL专家看到它。 - Calvin
1
我在防火墙规则中允许了UDP端口1434和mono.exe。但我仍然收到消息:“你是否已经为TCP/IP打开了它?” - Chuck D
1个回答

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接