繁体   English   中英

php sql 查询从一个数据库插入另一个数据库

[英]php sql query from one db insert in another

我有一个连接到一个数据库的脚本,运行 SQL 查询,然后尝试将其导入另一个服务器数据库,我相信我已经配置了所有正确但我无法让它工作。

echo date("l jS \of F Y h:i:s A"). " Collecting Sage CRM records.\r\n";
$sql="SELECT StockItem.Code AS 'Stock Code',
StockItem.Name AS 'Description', 
WarehouseItem.ConfirmedQtyInStock+WarehouseItem.UnconfirmedQtyInStock AS 'Available Stock', 
StockItem.FreeStockQuantity AS 'Free Stock', 
WarehouseItem.QuantityAllocatedStock AS 'Allocated Stock', 
WarehouseItem.QuantityOnPOPOrder AS 'Qty on PO', 
Warehouse.Name AS 'Warehouse Location', 
StockItem.AnalysisCode1 AS 'Product Class', 
ProductGroup.Code AS 'Product Category'
FROM MMS_Global.dbo.ProductGroup ProductGroup, 
MMS_Global.dbo.StockItem StockItem, MMS_Global.dbo.Warehouse Warehouse, 
MMS_Global.dbo.WarehouseItem WarehouseItem
WHERE WarehouseItem.WarehouseID = Warehouse.WarehouseID 
AND StockItem.ItemID = WarehouseItem.ItemID 
AND ProductGroup.ProductGroupID = StockItem.ProductGroupID 
AND ((StockItem.StockItemStatusID Like '0%'));";

$rs=sqlsrv_query($consage, $sql, array(), array( "Scrollable" => 'static' )) or die ( print_r( sqlsrv_errors(), true));

$record=0;
$fullcount=sqlsrv_num_rows ($rs ) ;
echo date("l jS \of F Y h:i:s A"). " Adding ".$fullcount." Stock records to in ACT!.\r\n";



While($row=sqlsrv_fetch_array($rs))
    {
    $row[0] = str_replace("'", "''", $row[0]);
    $sql3="insert into CUST_Inventory (
        InventoryID,
        [CUST_StockCode_065752395],
        [CUST_Description_065825443],
        [CUST_AvailableStock_065849679],
        [CUST_FreeStock_065906993],
        [CUST_AllocatedStock_065925572],
        [CUST_QtyonPO_065941916],
        [CUST_WarehouseLocation_070001667],
        [CUST_ProductClass_070019497],
        [CUST_ProductCategory_070847021],
        EDITDATE,
        CREATEDATE,
        CREATEUSERID,
        MANAGEUSERID,
        ISPRIVATE,
        EDITUSERID)
        Values(
        Newid(),
        '".$row['Stock Code']."',
        '".$row['Description']."',
        '".$row['Available Stock']."',
        '".$row['Free Stock']."',
        '".$row['Allocated Stock']."',
        '".$row['Qty on PO']."',
        '".$row['Warehouse Location']."',
        '".$row['Product Class']."',
        '".$row['Product Category']."',
        getdate(),
        getdate(),
        CONVERT(uniqueidentifier,'F43F5A16-1E5F-4C81-B7C9-FA6350954D24'),
        CONVERT(uniqueidentifier,'F43F5A16-1E5F-4C81-B7C9-FA6350954D24'),
        0,
        CONVERT(uniqueidentifier,'F43F5A16-1E5F-4C81-B7C9-FA6350954D24')
    );";


    $stmt = sqlsrv_query( $con, $sql3 );
if( $stmt === false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
        foreach( $errors as $error ) {
            echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
            echo "code: ".$error[ 'code']."<br />";
            echo "message: ".$error[ 'message']."<br />";
        }
    }
}
}
echo date("l jS \of F Y h:i:s A")." ".$record." of ".$fullcount." records added.\r\n";
?>




我的错误总是在第一行,它没有插入任何数据,我不知道为什么,有人可以帮忙吗?

谢谢。

该脚本正在尝试导入,但在第一行给我一个错误,我看了看,我看不出有什么问题

我得到的错误是]Conversion failed when converting the varchar value '.00000' to data type int.

我不知道出了什么问题,因为 php 代码看起来很好,sql 查询工作正常。

排序后,我不得不调整所有查询

CAST(WarehouseItem.QuantityAllocatedStock AS varchar(50)) ,
CAST(WarehouseItem.QuantityOnPOPOrder AS varchar(50)), ```

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM