Hướng dẫn php ms access connection without odbc - kết nối truy cập php ms mà không có odbc

Trên công ty của chúng tôi, chúng tôi có một dạng 4 ____, trong đó một e-mail được tạo thông qua php vì lý do tư vấn-hoạt động tốt. Cấp trên của tôi muốn tôi lưu thông tin của ____ 4 dạng vào cơ sở dữ liệu 7 ____.

Tôi không thể đưa ra một giải pháp trực tiếp ghi từ php vào MS Access - vì vậy tôi đã thuyết phục họ đi với

cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
0 qua
cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
1 - liên kết các bảng qua
cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
2 trong
cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
3.

Kết nối giữa php

cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
0 rất dễ dàng và kết nối giữa MS Access
cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
0 cũng sẽ được:

Để làm điều đó, một

cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
8 được yêu cầu cho mỗi máy khách mở cơ sở dữ liệu, điều mà bộ phận CNTT không muốn cài đặt.

Chúng tôi cũng sử dụng

cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
9 trên
';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>0 - Tôi cũng có thể kết nối PHP với
';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>1 - nhưng trong trường hợp này, chúng tôi cần cài đặt
';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>2 khi liên kết các bảng hoặc
';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>3 nếu chúng tôi đi với
';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>4. - nó các bạn:

Không có cài đặt của các nhà cung cấp trên tất cả các khách hàng.

Câu hỏi của tôi là:

Có bất kỳ giải pháp khả thi nào để truy cập

';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>5 từ MS Access mà không cần cài đặt
';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>7 không?

Tôi có áp lực thực sự cao về điều này và không thể tìm thấy bất cứ điều gì có thể thỏa mãn nhu cầu và mong đợi của người dùng.

Cảm ơn trước

Baris

EDIT: Làm việc ____ ____ 28 -Code - Dựa trên

';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>9

$servername = "----------.de";
$username = "-------";
$password = "--------";
$dbName = "---------";
$port = "-------";

$con= mysqli_connect($servername, $username, $password, $dbName, $port );
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

Chuỗi kết nối sau đây hoạt động để kết nối với

Testing Access PDO";

$content=access_result_pdo_x($db_param,$sql);
print_r($content);

exit;

// Connection to ms access
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db.";Uid=; Pwd=;");

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
		
		if ($db)
		echo "
PDO connection success\n"; else echo "
pdo connection failed\n"; try{ $result = $db->query($sql); $row = $result->fetchAll(PDO::FETCH_ASSOC); print_r($row); }catch(PDOExepction $e){ echo $e->getMessage(); } function access_result_pdo_x($db_param,$sql) { try { echo "Calling access_result_pdo_x
"; if(!file_exists($db_param["name"])) { throw new RuntimeException('Access Database file path is incorrect or file does not exist.'); } try { $cnnt_str="odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db_param["name"].";Uid=; Pwd=;"; $db = new PDO($cnnt_str); echo $cnnt_str; $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch (exception $e) { print_r($e,true); $content["error_flag"]="true"; $content["error_mesg"]="access connection error ". $e->getMessage() ; $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } //run the query try { $stmt=$db->query($sql); $stmt->setFetchMode(PDO::FETCH_ASSOC); } catch (exception $e) { $content["error_flag"]="true"; $err=$db->errorInfo(); $content["error_mesg"]="access query error ".$e->getMessage(); $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } // Loop to handle all results $row_id=0; $column_names=array(); $column_types=array(); $col_data=array(); $row_limit=$db_param['row_limit']; if (!isset($row_limit) ) $row_limit=10; while( ($row = $stmt->fetch()) && $row_id<$row_limit) { //$row_data[$row_id]=array(); // each key and value can be examined individually as well $col_id=0; //clog(2,print_r($row,true)); foreach($row as $key => $value) { if (is_int($key)) continue; // clog(2,"key = {$key} val = {$value}"); $col_data[$col_id][$row_id]=utf8_encode($value); if ($row_id==0) { //$col_meta=$stmt->getColumnMeta($col_id); //xlog(0,"mysql column type =".$col_meta["native_type"]); array_push($column_names,utf8_encode($key)); //just capture column names only once array_push($column_types,"VARCHAR"); } $col_id++; //array_push($row_data[$row_id],$value); // print "
Key: " . $key . " Value: " . $value; } $row_id++; } if ($col_id==0) { $column_names[]="No Data"; $column_types[]="VARCHAR"; $col_data[0][0]="no data"; } $content["legends"]=$column_names; $content["columnTypes"]=$column_types; $content["data"]=$col_data; return $content; } catch (exception $e) { $content["legends"]=array("Error"); $content["data"]=array(0); $content["error_flag"]="true"; $content["error_mesg"]="fetch error ".print_r($e,true); return $content; } } ?>
0 phía máy chủ từ MS Access với nhà cung cấp ____ 32 tích hợp. Cảm ơn Gordthompson

cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"

Vì có khả năng kết nối với

';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>1 mà không cần nhà cung cấp bổ sung, tôi sẽ kết hợp ____ 34 và tải dữ liệu dựa trên chuỗi kết nối ở trên.

  • 0

Mã này thiết lập kết nối ODBC không có DSN thành cơ sở dữ liệu MS Access trong PHP 5 trên nền tảng máy chủ của bạn.

Testing Access PDO";

$content=access_result_pdo_x($db_param,$sql);
print_r($content);

exit;

// Connection to ms access
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db.";Uid=; Pwd=;");

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
		
		if ($db)
		echo "
PDO connection success\n"; else echo "
pdo connection failed\n"; try{ $result = $db->query($sql); $row = $result->fetchAll(PDO::FETCH_ASSOC); print_r($row); }catch(PDOExepction $e){ echo $e->getMessage(); } function access_result_pdo_x($db_param,$sql) { try { echo "Calling access_result_pdo_x
"; if(!file_exists($db_param["name"])) { throw new RuntimeException('Access Database file path is incorrect or file does not exist.'); } try { $cnnt_str="odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db_param["name"].";Uid=; Pwd=;"; $db = new PDO($cnnt_str); echo $cnnt_str; $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch (exception $e) { print_r($e,true); $content["error_flag"]="true"; $content["error_mesg"]="access connection error ". $e->getMessage() ; $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } //run the query try { $stmt=$db->query($sql); $stmt->setFetchMode(PDO::FETCH_ASSOC); } catch (exception $e) { $content["error_flag"]="true"; $err=$db->errorInfo(); $content["error_mesg"]="access query error ".$e->getMessage(); $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } // Loop to handle all results $row_id=0; $column_names=array(); $column_types=array(); $col_data=array(); $row_limit=$db_param['row_limit']; if (!isset($row_limit) ) $row_limit=10; while( ($row = $stmt->fetch()) && $row_id<$row_limit) { //$row_data[$row_id]=array(); // each key and value can be examined individually as well $col_id=0; //clog(2,print_r($row,true)); foreach($row as $key => $value) { if (is_int($key)) continue; // clog(2,"key = {$key} val = {$value}"); $col_data[$col_id][$row_id]=utf8_encode($value); if ($row_id==0) { //$col_meta=$stmt->getColumnMeta($col_id); //xlog(0,"mysql column type =".$col_meta["native_type"]); array_push($column_names,utf8_encode($key)); //just capture column names only once array_push($column_types,"VARCHAR"); } $col_id++; //array_push($row_data[$row_id],$value); // print "
Key: " . $key . " Value: " . $value; } $row_id++; } if ($col_id==0) { $column_names[]="No Data"; $column_types[]="VARCHAR"; $col_data[0][0]="no data"; } $content["legends"]=$column_names; $content["columnTypes"]=$column_types; $content["data"]=$col_data; return $content; } catch (exception $e) { $content["legends"]=array("Error"); $content["data"]=array(0); $content["error_flag"]="true"; $content["error_mesg"]="fetch error ".print_r($e,true); return $content; } } ?>
5

Testing Access PDO";

$content=access_result_pdo_x($db_param,$sql);
print_r($content);

exit;

// Connection to ms access
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db.";Uid=; Pwd=;");

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
		
		if ($db)
		echo "
PDO connection success\n"; else echo "
pdo connection failed\n"; try{ $result = $db->query($sql); $row = $result->fetchAll(PDO::FETCH_ASSOC); print_r($row); }catch(PDOExepction $e){ echo $e->getMessage(); } function access_result_pdo_x($db_param,$sql) { try { echo "Calling access_result_pdo_x
"; if(!file_exists($db_param["name"])) { throw new RuntimeException('Access Database file path is incorrect or file does not exist.'); } try { $cnnt_str="odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db_param["name"].";Uid=; Pwd=;"; $db = new PDO($cnnt_str); echo $cnnt_str; $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch (exception $e) { print_r($e,true); $content["error_flag"]="true"; $content["error_mesg"]="access connection error ". $e->getMessage() ; $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } //run the query try { $stmt=$db->query($sql); $stmt->setFetchMode(PDO::FETCH_ASSOC); } catch (exception $e) { $content["error_flag"]="true"; $err=$db->errorInfo(); $content["error_mesg"]="access query error ".$e->getMessage(); $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } // Loop to handle all results $row_id=0; $column_names=array(); $column_types=array(); $col_data=array(); $row_limit=$db_param['row_limit']; if (!isset($row_limit) ) $row_limit=10; while( ($row = $stmt->fetch()) && $row_id<$row_limit) { //$row_data[$row_id]=array(); // each key and value can be examined individually as well $col_id=0; //clog(2,print_r($row,true)); foreach($row as $key => $value) { if (is_int($key)) continue; // clog(2,"key = {$key} val = {$value}"); $col_data[$col_id][$row_id]=utf8_encode($value); if ($row_id==0) { //$col_meta=$stmt->getColumnMeta($col_id); //xlog(0,"mysql column type =".$col_meta["native_type"]); array_push($column_names,utf8_encode($key)); //just capture column names only once array_push($column_types,"VARCHAR"); } $col_id++; //array_push($row_data[$row_id],$value); // print "
Key: " . $key . " Value: " . $value; } $row_id++; } if ($col_id==0) { $column_names[]="No Data"; $column_types[]="VARCHAR"; $col_data[0][0]="no data"; } $content["legends"]=$column_names; $content["columnTypes"]=$column_types; $content["data"]=$col_data; return $content; } catch (exception $e) { $content["legends"]=array("Error"); $content["data"]=array(0); $content["error_flag"]="true"; $content["error_mesg"]="fetch error ".print_r($e,true); return $content; } } ?>
6

Testing Access PDO";

$content=access_result_pdo_x($db_param,$sql);
print_r($content);

exit;

// Connection to ms access
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db.";Uid=; Pwd=;");

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
		
		if ($db)
		echo "
PDO connection success\n"; else echo "
pdo connection failed\n"; try{ $result = $db->query($sql); $row = $result->fetchAll(PDO::FETCH_ASSOC); print_r($row); }catch(PDOExepction $e){ echo $e->getMessage(); } function access_result_pdo_x($db_param,$sql) { try { echo "Calling access_result_pdo_x
"; if(!file_exists($db_param["name"])) { throw new RuntimeException('Access Database file path is incorrect or file does not exist.'); } try { $cnnt_str="odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db_param["name"].";Uid=; Pwd=;"; $db = new PDO($cnnt_str); echo $cnnt_str; $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch (exception $e) { print_r($e,true); $content["error_flag"]="true"; $content["error_mesg"]="access connection error ". $e->getMessage() ; $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } //run the query try { $stmt=$db->query($sql); $stmt->setFetchMode(PDO::FETCH_ASSOC); } catch (exception $e) { $content["error_flag"]="true"; $err=$db->errorInfo(); $content["error_mesg"]="access query error ".$e->getMessage(); $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } // Loop to handle all results $row_id=0; $column_names=array(); $column_types=array(); $col_data=array(); $row_limit=$db_param['row_limit']; if (!isset($row_limit) ) $row_limit=10; while( ($row = $stmt->fetch()) && $row_id<$row_limit) { //$row_data[$row_id]=array(); // each key and value can be examined individually as well $col_id=0; //clog(2,print_r($row,true)); foreach($row as $key => $value) { if (is_int($key)) continue; // clog(2,"key = {$key} val = {$value}"); $col_data[$col_id][$row_id]=utf8_encode($value); if ($row_id==0) { //$col_meta=$stmt->getColumnMeta($col_id); //xlog(0,"mysql column type =".$col_meta["native_type"]); array_push($column_names,utf8_encode($key)); //just capture column names only once array_push($column_types,"VARCHAR"); } $col_id++; //array_push($row_data[$row_id],$value); // print "
Key: " . $key . " Value: " . $value; } $row_id++; } if ($col_id==0) { $column_names[]="No Data"; $column_types[]="VARCHAR"; $col_data[0][0]="no data"; } $content["legends"]=$column_names; $content["columnTypes"]=$column_types; $content["data"]=$col_data; return $content; } catch (exception $e) { $content["legends"]=array("Error"); $content["data"]=array(0); $content["error_flag"]="true"; $content["error_mesg"]="fetch error ".print_r($e,true); return $content; } } ?>
7

Testing Access PDO";

$content=access_result_pdo_x($db_param,$sql);
print_r($content);

exit;

// Connection to ms access
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db.";Uid=; Pwd=;");

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
		
		if ($db)
		echo "
PDO connection success\n"; else echo "
pdo connection failed\n"; try{ $result = $db->query($sql); $row = $result->fetchAll(PDO::FETCH_ASSOC); print_r($row); }catch(PDOExepction $e){ echo $e->getMessage(); } function access_result_pdo_x($db_param,$sql) { try { echo "Calling access_result_pdo_x
"; if(!file_exists($db_param["name"])) { throw new RuntimeException('Access Database file path is incorrect or file does not exist.'); } try { $cnnt_str="odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db_param["name"].";Uid=; Pwd=;"; $db = new PDO($cnnt_str); echo $cnnt_str; $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch (exception $e) { print_r($e,true); $content["error_flag"]="true"; $content["error_mesg"]="access connection error ". $e->getMessage() ; $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } //run the query try { $stmt=$db->query($sql); $stmt->setFetchMode(PDO::FETCH_ASSOC); } catch (exception $e) { $content["error_flag"]="true"; $err=$db->errorInfo(); $content["error_mesg"]="access query error ".$e->getMessage(); $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } // Loop to handle all results $row_id=0; $column_names=array(); $column_types=array(); $col_data=array(); $row_limit=$db_param['row_limit']; if (!isset($row_limit) ) $row_limit=10; while( ($row = $stmt->fetch()) && $row_id<$row_limit) { //$row_data[$row_id]=array(); // each key and value can be examined individually as well $col_id=0; //clog(2,print_r($row,true)); foreach($row as $key => $value) { if (is_int($key)) continue; // clog(2,"key = {$key} val = {$value}"); $col_data[$col_id][$row_id]=utf8_encode($value); if ($row_id==0) { //$col_meta=$stmt->getColumnMeta($col_id); //xlog(0,"mysql column type =".$col_meta["native_type"]); array_push($column_names,utf8_encode($key)); //just capture column names only once array_push($column_types,"VARCHAR"); } $col_id++; //array_push($row_data[$row_id],$value); // print "
Key: " . $key . " Value: " . $value; } $row_id++; } if ($col_id==0) { $column_names[]="No Data"; $column_types[]="VARCHAR"; $col_data[0][0]="no data"; } $content["legends"]=$column_names; $content["columnTypes"]=$column_types; $content["data"]=$col_data; return $content; } catch (exception $e) { $content["legends"]=array("Error"); $content["data"]=array(0); $content["error_flag"]="true"; $content["error_mesg"]="fetch error ".print_r($e,true); return $content; } } ?>
8

Testing Access PDO";

$content=access_result_pdo_x($db_param,$sql);
print_r($content);

exit;

// Connection to ms access
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db.";Uid=; Pwd=;");

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
		
		if ($db)
		echo "
PDO connection success\n"; else echo "
pdo connection failed\n"; try{ $result = $db->query($sql); $row = $result->fetchAll(PDO::FETCH_ASSOC); print_r($row); }catch(PDOExepction $e){ echo $e->getMessage(); } function access_result_pdo_x($db_param,$sql) { try { echo "Calling access_result_pdo_x
"; if(!file_exists($db_param["name"])) { throw new RuntimeException('Access Database file path is incorrect or file does not exist.'); } try { $cnnt_str="odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db_param["name"].";Uid=; Pwd=;"; $db = new PDO($cnnt_str); echo $cnnt_str; $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch (exception $e) { print_r($e,true); $content["error_flag"]="true"; $content["error_mesg"]="access connection error ". $e->getMessage() ; $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } //run the query try { $stmt=$db->query($sql); $stmt->setFetchMode(PDO::FETCH_ASSOC); } catch (exception $e) { $content["error_flag"]="true"; $err=$db->errorInfo(); $content["error_mesg"]="access query error ".$e->getMessage(); $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } // Loop to handle all results $row_id=0; $column_names=array(); $column_types=array(); $col_data=array(); $row_limit=$db_param['row_limit']; if (!isset($row_limit) ) $row_limit=10; while( ($row = $stmt->fetch()) && $row_id<$row_limit) { //$row_data[$row_id]=array(); // each key and value can be examined individually as well $col_id=0; //clog(2,print_r($row,true)); foreach($row as $key => $value) { if (is_int($key)) continue; // clog(2,"key = {$key} val = {$value}"); $col_data[$col_id][$row_id]=utf8_encode($value); if ($row_id==0) { //$col_meta=$stmt->getColumnMeta($col_id); //xlog(0,"mysql column type =".$col_meta["native_type"]); array_push($column_names,utf8_encode($key)); //just capture column names only once array_push($column_types,"VARCHAR"); } $col_id++; //array_push($row_data[$row_id],$value); // print "
Key: " . $key . " Value: " . $value; } $row_id++; } if ($col_id==0) { $column_names[]="No Data"; $column_types[]="VARCHAR"; $col_data[0][0]="no data"; } $content["legends"]=$column_names; $content["columnTypes"]=$column_types; $content["data"]=$col_data; return $content; } catch (exception $e) { $content["legends"]=array("Error"); $content["data"]=array(0); $content["error_flag"]="true"; $content["error_mesg"]="fetch error ".print_r($e,true); return $content; } } ?>
9

html0

html1

Xem thêm: Bài viết cơ sở kiến ​​thức cơ sở dữ liệu & NBSP; | & NBSP; "Địa chỉ IP quan trọng" Bài viết cơ sở kiến ​​thức Database Knowledge base Articles | "Important IP Addresses" knowledge base article

Liên hệ hỗ trợ

Nếu bạn vẫn đang gặp sự cố, xin vui lòng liên hệ với chúng tôi để được trợ giúp thêm.1-877-EPHOST1 | & NBSP;
1-877-EPHOST1 | 


Câu trả lời này có hữu ích không?

Tôi đang cố gắng kết nối với cơ sở dữ liệu Microsoft Access được trao cho tôi bằng cách sử dụng PHP. Tôi thà không sử dụng trình điều khiển ODBC để kết nối nhưng tôi không thể tìm cách kết nối với cơ sở dữ liệu.

Bất kỳ ý tưởng? Chỉ các yêu cầu là nó cần có khả năng đọc và ghi từ cơ sở dữ liệu và nó phải được thực hiện thông qua PHP. Không có ODBC.
Only requirements are that it needs to be able to read and write from the database and that it has to be done through php. NO ODBC.

Bình luận

Bạn có lẽ nên sử dụng các lớp OLEDB. https://msdn.microsoft.com/en-us/l Library/system.data.oledb.oledbconnection(v=VS.110).aspx


1 giải pháp solution

Giải pháp 1

Tùy chọn duy nhất khác của bạn là OLEDB, sử dụng động cơ ACE hoặc JET tùy thuộc vào phiên bản của cơ sở dữ liệu truy cập mà bạn đang cố gắng truy cập.

Bình luận

Trong hướng dẫn này, chúng tôi sẽ thấy một ví dụ về mã PHP về cách kết nối với cơ sở dữ liệu MS Access bằng thư viện PDO.

';

print_r(PDO::getAvailableDrivers());

echo '
'; ?>

Trước khi chúng tôi tiến hành, hãy đảm bảo thư viện PDO được bật. Thêm mã trên vào tệp PHP và chạy nó trong trình duyệt. Nó sẽ cho bạn biết thư viện nào hiện đang hoạt động

Hướng dẫn php ms access connection without odbc - kết nối truy cập php ms mà không có odbc

Nếu nó không hoạt động, hãy chỉnh sửa tệp php.ini và xác định vị trí dòng PDO cho ODBC

Hướng dẫn php ms access connection without odbc - kết nối truy cập php ms mà không có odbc

Hoàn thành mã PDO Php để truy vấn Adventure Works cơ sở dữ liệu truy cập MS

Testing Access PDO";

$content=access_result_pdo_x($db_param,$sql);
print_r($content);

exit;

// Connection to ms access
$db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db.";Uid=; Pwd=;");

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
		
		if ($db)
		echo "
PDO connection success\n"; else echo "
pdo connection failed\n"; try{ $result = $db->query($sql); $row = $result->fetchAll(PDO::FETCH_ASSOC); print_r($row); }catch(PDOExepction $e){ echo $e->getMessage(); } function access_result_pdo_x($db_param,$sql) { try { echo "Calling access_result_pdo_x
"; if(!file_exists($db_param["name"])) { throw new RuntimeException('Access Database file path is incorrect or file does not exist.'); } try { $cnnt_str="odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=".$db_param["name"].";Uid=; Pwd=;"; $db = new PDO($cnnt_str); echo $cnnt_str; $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch (exception $e) { print_r($e,true); $content["error_flag"]="true"; $content["error_mesg"]="access connection error ". $e->getMessage() ; $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } //run the query try { $stmt=$db->query($sql); $stmt->setFetchMode(PDO::FETCH_ASSOC); } catch (exception $e) { $content["error_flag"]="true"; $err=$db->errorInfo(); $content["error_mesg"]="access query error ".$e->getMessage(); $content["legends"]=array("Error"); $content["data"]=array(0); return $content; } // Loop to handle all results $row_id=0; $column_names=array(); $column_types=array(); $col_data=array(); $row_limit=$db_param['row_limit']; if (!isset($row_limit) ) $row_limit=10; while( ($row = $stmt->fetch()) && $row_id<$row_limit) { //$row_data[$row_id]=array(); // each key and value can be examined individually as well $col_id=0; //clog(2,print_r($row,true)); foreach($row as $key => $value) { if (is_int($key)) continue; // clog(2,"key = {$key} val = {$value}"); $col_data[$col_id][$row_id]=utf8_encode($value); if ($row_id==0) { //$col_meta=$stmt->getColumnMeta($col_id); //xlog(0,"mysql column type =".$col_meta["native_type"]); array_push($column_names,utf8_encode($key)); //just capture column names only once array_push($column_types,"VARCHAR"); } $col_id++; //array_push($row_data[$row_id],$value); // print "
Key: " . $key . " Value: " . $value; } $row_id++; } if ($col_id==0) { $column_names[]="No Data"; $column_types[]="VARCHAR"; $col_data[0][0]="no data"; } $content["legends"]=$column_names; $content["columnTypes"]=$column_types; $content["data"]=$col_data; return $content; } catch (exception $e) { $content["legends"]=array("Error"); $content["data"]=array(0); $content["error_flag"]="true"; $content["error_mesg"]="fetch error ".print_r($e,true); return $content; } } ?>

  • Access, Microsoft Access DB, MS Access DB, ODBC, ODBC Driver, PDO, PHP, PHP PDO
  • Ngày 22 tháng 8 năm 2019

  • MS Access

Báo cáo tùy chỉnh và bảng điều khiển

Chúng tôi sẽ xây dựng cho bạn một bộ báo cáo tùy chỉnh và bảng điều khiển

Các công cụ cốt lõi

Tạo bảng điều khiển cho bất kỳ cơ sở dữ liệu nào

Ứng dụng trực quan và bảng điều khiển dữ liệu

Đây là phần mềm bảng điều khiển tốt nhất cho giá của nó. Một điều tốt chúng tôi đã làm là thuê các dịch vụ tư vấn của họ để xây dựng một vài nguyên mẫu bảng điều khiển và cung cấp một số đào tạo bảng điều khiển nhanh.

Chúng tôi đã đánh giá Xcelsius và Qlikview và chi phí cho tổ chức để thực hiện bảng điều khiển đã được trích dẫn hơn 10.000 USD. Đối với tỷ lệ giá được trích dẫn ở trên, chúng tôi đã có thể mua giấy phép cho phần mềm bảng điều khiển dựa trên web và được đào tạo miễn phí. Đây thực sự là một phần mềm bảng điều khiển cho các doanh nghiệp nhỏ như chúng tôi.

Nó là người quản lý của một công ty vận tải đường bộ, oh

Làm thế nào kết nối truy cập MS với PHP?

Dưới đây là cách tạo kết nối với cơ sở dữ liệu MS Access:..
Mở biểu tượng ODBC trong bảng điều khiển của bạn ..
Chọn tab Hệ thống DSN ..
Nhấp vào Thêm vào tab DSN hệ thống ..
Chọn trình điều khiển truy cập Microsoft.....
Trong màn hình tiếp theo, bấm chọn để xác định vị trí cơ sở dữ liệu ..
Cho cơ sở dữ liệu một tên nguồn dữ liệu (DSN) ..
Bấm OK ..

Làm cách nào để kết nối với SQL Server mà không có ODBC?

Kết nối với SQL Server trong R mà không cần kết nối ODBC DNS..
Thư viện (Rodbc) ....
Msconnection
SQLQuery (MSConnection, Test sử dụng thử nghiệm) ....
dữ liệu của tôi
dữ liệu của tôi.....
close(MSConnection).

PHP có thể sử dụng cơ sở dữ liệu SQL không?

Với PHP, bạn có thể kết nối và thao tác cơ sở dữ liệu.MySQL là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP.MySQL is the most popular database system used with PHP.