簡體   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