나는 서둘러 여기에 몇 가지 질문을했고, 나는 아무데도 빨리 가지 않고있다. 나는 변화하는 것을 계속 유지하고 다른 문제로 끝났으며, 무엇이 원인인지 단서가 없다. 그것. 저는 PHP MYSQL 사용자이고 COM 클래스를 통해 Access에서 작업해야합니다.액세스 전송에 대한 액세스
기본적으로 클라이언트에는 각각 액세스 데이터베이스가있는 여러 개의 서버가 있으며 각 서버에는 CMS가 있으며 테이블에는 동일한 데이터가 있어야하며 동기화되지 않은 서버 여야합니다. 그들을 다시 연결시키는 방법을 생각해내는 것이 나의 임무입니다.
데이터를 배열로 가져와 직렬화하고 주 서버의 파일 (모든 파일을 동기화해야 함)에 저장 한 다음 다른 서버에서 파일을 다운로드하고 파일을 직렬화 해제 한 다음 항목을 항목별로, DB에 있는지, 삽입하지 않았는지 확인합니다. 인서트가 실패합니다. 각 항목에 대해 SQL 쿼리를 작성하고 $ this-> conn-> Execute();를 수행했습니다. `Kimlik를 조회 할 수 없습니다 '라는 메시지와 catch되지 않은 예외'com_exception '그 바보 일에 행 단위로 실패, 그래서 나는 지금이 노력하고 있어요 :
function syncCMS()
{
$this->output['msg'] .= "<p><b>The following properties were added to the database on ." . $this->hsite . "</b></p>";
$this->get_field_names();
$this->make_connection(); //assigns connection to $this->conn
$rs = new COM('ADODB.Recordset');
$rs->CursorType = 2;
$rs->CursorLocation = 1;
$rs->LockType = 4;
$rs->Open($this->table_name,$this->conn);
foreach ($this->awayPropertyDetails as $key => $property)
{
$this->check_for_property($property['pname']);
if (!$this->property_exists || $this->mode == "fullSync")
{
unset($values);
$bfields = array("pshow","rent","best", "oda1", "oda2", "oda3", "oda4", "oda5", "oda6", "odap", "topool","tomountain","tofitness","tosauna"); //stores the yes/no values
$q = "INSERT INTO " . $this->table_name . " (" . $this->dbfields . ") VALUES (";
foreach ($property as $k => $value)
{
if ($k == "Kimlik") {
$value = null;
}
if ($k == "tarih")
{
$value = date("d/m/Y");
$value = "'" . $value . "'";
}
if (in_array($k,$bfields))
{
if ($value == "")
{
$value = 'FALSE';
}
else
{
$value = 'TRUE';
}
}
$rs->fields->$k = $value;
$this->output['msg'] .= $property['pname'] . " added";
}
$rs->BatchUpdate();
$rs->Close();
$this->conn->Close();
//$this->download_images($property['OBJECT_NR'],$k);
//$this->output['msg'] .= "<p>Images added</p>";
}
}
$message .= "</ul>";
$this->output['msg'] .= $message;
$this->sendOutput();
//print_r($property);*/
}
을 그리고이 점점 :
치명적인 오류 : 알 수없는 이름입니다. 'in D : \ inetpub ...
Kimlik은 첫 번째 필드의 이름 인 자동 번호 필드인데이를 제거하고 두 번째 필드로 이동했습니다.
내가 함께 거기에 도착
방법이 실패인가? – Ryre
COM 개체 대신 ODBC를 사용할 수 있습니까? 그렇다면 [PDO의 ODBC 지원 사용] (http://us3.php.net/manual/en/ref.pdo-odbc.connection.php)을보다 쉽게 찾을 수 있습니다.이 파일은 Windows 빌드에서 항상 사용할 수 있어야합니다. PHP. – Charles
나는 Charles가 대답으로 찬성하여 그의 대답을 제시해야한다고 생각한다. Charles의 제안을 사용하면 묻는 사람에게 "접근 방법"을 강요하게되는데,이 경우에는 (아마도 불편 함) 아마도이 경우에 가장 좋습니다. – Smandoli