Use*_*289 4 php sql sql-server laravel laravel-5
我正在尝试从远程服务器运行原始 SQL 查询。此时我不知道它运行在哪个 SQL Server 版本上,但相信它是 2008 年。我尝试使用 Laravel 5.5 进行连接。我现在只想建立积极的联系。谁能指导我可能是什么问题?
我还尝试将 DB::raw 放在字符串中的“select”之后。这是我的查询字符串:
public function index()
{
$query = DB::connection('sqlsrv')->select('
SELECT "tProject"."ProjectName", "tProject"."CreatedDate", "tProject"."ProjectNumber", "tProjectEstByItem"."Qty", "tService"."ServiceCode", "tService"."Description", "tProjectItemRollup"."HoursApproved", "tProjectItemRollup"."Hours", "tProjectEstByItem"."Gross", "tProjectStatus"."ProjectStatus", "vw_flat_Project_Properties"."ClientPO", "tProjectEstByItem"."COGross", "tProjectEstByItem"."COQty", "tProject"."EstExpenses", "tProject"."EstLabor", "tProject"."ApprovedCOExpense"
FROM (((("Workamajig"."dbo"."tProject" "tProject"
INNER JOIN "Workamajig"."dbo"."tProjectItemRollup" "tProjectItemRollup"
ON "tProject"."ProjectKey"="tProjectItemRollup"."ProjectKey")
INNER JOIN "Workamajig"."dbo"."tProjectStatus" "tProjectStatus"
ON "tProject"."ProjectStatusKey"="tProjectStatus"."ProjectStatusKey")
INNER JOIN "Workamajig"."dbo"."vw_flat_Project_Properties" "vw_flat_Project_Properties"
ON "tProject"."ProjectNumber"="vw_flat_Project_Properties"."ProjectNumber")
LEFT OUTER JOIN "Workamajig"."dbo"."tProjectEstByItem" "tProjectEstByItem"
ON ("tProjectItemRollup"."ProjectKey"="tProjectEstByItem"."ProjectKey")
AND ("tProjectItemRollup"."EntityKey"="tProjectEstByItem"."EntityKey"))
INNER JOIN "Workamajig"."dbo"."tService" "tService"
ON "tProjectItemRollup"."EntityKey"="tService"."ServiceKey"
WHERE "tProject"."CreatedDate">={ts "2017-06-26 00:00:00"}
AND "tProject"."ProjectNumber"
LIKE "bigl%"
ORDER BY "tProject"."ProjectNumber", "tService"."Description" ');
dd($query);
}
Run Code Online (Sandbox Code Playgroud)
小智 5
我知道这篇文章是很久以前的事了,但仍会尝试为未来的读者解决这个问题。
首先,您需要检查本地服务器上是否安装了 pdo_sqlsrv 扩展(无论是 wamp 还是 xampp)。您可以在 xampp 上通过访问 url“ http://localhost/dashboard/phpinfo.php ”并搜索“pdo_sqlsrv”来完成此操作,它通常位于“pdo_sqlite”扩展名下方。如果您没有看到 pdo_sqlsrv 扩展,请按照这篇文章Connecting php 7.2 to MS SQL using sqlsrv。
接下来的事情是转到您的 .env 文件并设置
DB_CONNECTION=sqlsrv 也
DB_PORT=1433,
然后将 DB_HOST、DB_DATABASE、DB_USERNAME 和 DB_PASSWORD 设置为正确的凭据。
如果您在本地 PC 上安装了 MS SQL,请确保数据库引擎使用 SQL Server 身份验证而不是 Windows 身份验证,并通过以下链接将 TCP/IP 端口修复为 1433 以查看其完成情况
SQLSTATE[08001]: [Microsoft][ODBC Driver 13 for SQL Server]TCP 提供程序:无法建立连接,因为目标计算机主动拒绝。
重新启动 Laravel 服务器
| 归档时间: |
|
| 查看次数: |
9492 次 |
| 最近记录: |