Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Server与Unity的连接_C#_Sql Server_Unity3d - Fatal编程技术网

C# SQL Server与Unity的连接

C# SQL Server与Unity的连接,c#,sql-server,unity3d,C#,Sql Server,Unity3d,我正在尝试将我的Unity项目连接到SQL Server。我已成功连接Visual Studio 2017中的Windows窗体应用程序。我认为如果在统一脚本中复制准确的代码,我的目标应该实现。我已将System.Data.Dll V3.5导入我的资产,并使用unity2018.2.1.f1。我正在使用下面的脚本试图首先打开连接,但我得到下面的错误 void Start() { 尝试 { string ConnString=“数据源=桌面-PVB5MHG;初始目录=UnityTest;用户ID=

我正在尝试将我的Unity项目连接到SQL Server。我已成功连接Visual Studio 2017中的Windows窗体应用程序。我认为如果在统一脚本中复制准确的代码,我的目标应该实现。我已将
System.Data.Dll V3.5
导入我的资产,并使用
unity2018.2.1.f1
。我正在使用下面的脚本试图首先打开连接,但我得到下面的错误

void Start()
{
尝试
{
string ConnString=“数据源=桌面-PVB5MHG;初始目录=UnityTest;用户ID=图例;密码=图例”;
SqlConnection MyConn=新的SqlConnection(ConnString);
MyConn.Open();
Log(“连接已打开!”);
}
catch(System.Exception-ex)
{
Log(例如ToString());
}
}
System.Data.SqlClient.SqlException:服务器不存在或 连接被拒绝

Mono.Data.Tds.Protocol.TdsInternalException:服务器不存在或连接被拒绝

System.Net.Sockets.SocketException:使用了与请求的协议不兼容的地址

在System.Net.Sockets.Socket.Connect(System.Net.EndPoint remoteEP, 布尔值requiresCheckPolicy)[0x00000]位于:0
在:0中的System.Net.Sockets.Socket+Worker.Connect()[0x00000]处 ---内部异常堆栈跟踪结束---
位于Mono.Data.Tds.Protocol.TdsComm..ctor(System.String数据源,Int32 端口,Int32 packetSize,Int32超时,TdsVersion TdsVersion)[0x00000]in:0
位于Mono.Data.Tds.Protocol.Tds..ctor(System.String数据源,Int32 端口,Int32 packetSize,Int32超时,TdsVersion TdsVersion)[0x00000]in:0
在Mono.Data.Tds.Protocol.Tds70..ctor(System.String服务器,Int32端口, Int32 packetSize,Int32超时,TdsVersion版本)[0x00000]英寸 :0在Mono.Data.Tds.Protocol.Tds80..ctor处 (System.String服务器、Int32端口、Int32 packetSize、Int32超时) [0x00000]英寸:0英寸 Mono.Data.Tds.Protocol.TdsConnectionPoolManager.CreateConnection (Mono.Data.Tds.Protocol.TdsConnectionInfo)[0x00000]in:0 at 中的Mono.Data.Tds.Protocol.TdsConnectionPool.GetConnection()[0x00000] :0位于System.Data.SqlClient.SqlConnection.Open() [0x00000]in:0---内部异常堆栈的结尾 跟踪---位于System.Data.SqlClient.SqlConnection.Open()[0x00000] in:0位于DB.Start()[0x00010]处in D:\UnityProjects2018\DataBaseTest1\Assets\DB.cs:15 UnityEngine.Debug:Log(Object)DB:Start()(位于Assets/DB.cs:20)


由于Mono中的限制,无法在Unity中使用ODBC。改用


您的具体错误与Mono中机器名的解析方式与WinForms时代的.Net framework的古老版本不同有关
DESKTOP-PVB5MHG
将不是有效的DNS名称,而Mono仅使用DNS解析
数据源

连接到非嵌入式数据库通常不希望在Unity应用程序中直接执行。通常,您将服务创建为“数据层”,并对其进行http调用,而不是直接连接到数据库。我相信集成安全性仅在Windows上有效。尝试在SQL Server上创建用户并将其添加到连接字符串中。另外,您确定SQL Server正在计算机上运行吗?你不需要替换localhost吗?@tvdias,谢谢你的评论。我刚刚创建了一个用户并更改了连接字符串。同样,在VisualStudio中工作良好,但在unity中也存在相同的错误。我编辑了代码,请您再次检查。虽然我们不确定这里的整体情况,但我强烈建议您不要将SQL连接数据直接嵌入应用程序,让您的所有客户端直接连接到数据库。