Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用密码从MS Access数据库检索网页数据_Php_Mysql_Database_Ms Access - Fatal编程技术网

Php 如何使用密码从MS Access数据库检索网页数据

Php 如何使用密码从MS Access数据库检索网页数据,php,mysql,database,ms-access,Php,Mysql,Database,Ms Access,我有一个MS Access数据库文件,我想复制到一个MySQL中,以便在网页上提供服务,问题是数据库是密码的。我想做的是将文件上传到服务器,然后去掉密码或使用密码打开它,这样我就可以将它复制到MySQL。 密码已知,无法从源位置删除。 如果可能的话,我想用PHP做这个 这是一个反复发生的事件,每天最多两次 联系我的主机后,使用odbc的唯一方法是升级到专用主机,价格是我当前主机的10倍。除非我能以另一种方式获取数据,否则这是不可能的。要打开它,密码应该在连接字符串中传递。。。对于使用odbc_c

我有一个MS Access数据库文件,我想复制到一个MySQL中,以便在网页上提供服务,问题是数据库是密码的。我想做的是将文件上传到服务器,然后去掉密码或使用密码打开它,这样我就可以将它复制到MySQL。 密码已知,无法从源位置删除。 如果可能的话,我想用PHP做这个

这是一个反复发生的事件,每天最多两次

联系我的主机后,使用odbc的唯一方法是升级到专用主机,价格是我当前主机的10倍。除非我能以另一种方式获取数据,否则这是不可能的。

要打开它,密码应该在连接字符串中传递。。。对于使用odbc_connect的PHP,语法可用。既然你说密码是已知的,这就应该行了

要完全删除它,您只需在Access中打开它并保存一份不带密码的副本。我不确定这是否能很容易地实现自动化。如果您需要访问数据并重复传输,我建议您在连接字符串中使用密码

文章中的示例链接到:

<?php
// Microsoft SQL Server using the SQL Native Client 10.0 ODBC Driver - allows connection to SQL 7, 2000, 2005 and 2008
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);

// Microsoft Access
$connection = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename", $user, $password);

// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?> 

以下是无DSN连接代码示例:

<?php
$db_connection = new COM("ADODB.Connection");

$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("../databases/database.mdb") ." ;DefaultDir=". realpath("../databases");
$db_connection->open($db_connstr);
$rs = $db_connection->execute("SELECT * FROM Table");
$rs_fld0 = $rs->Fields(0);
$rs_fld1 = $rs->Fields(1);
while (!$rs->EOF) {
  print "$rs_fld0->value $rs_fld1->value\n";
  $rs->MoveNext(); /* updates fields! */
}
$rs->Close();
$db_connection->Close();
?> 


一次性移动?数据库文件是在一组电子秤上创建的,我想通过微控制器将文件直接从秤上传到服务器。服务器基于Linux。这个想法不可行吗?谢谢,不幸的是,我的主机目前不支持odbc_connect()。还有其他选择吗或者只是谷歌“PHP访问连接字符串”为其他人。