【发布时间】:2016-01-26 15:47:53
【问题描述】:
在我们的公司网站上,我们有一个html-form,其中出于咨询原因通过php 生成了一封电子邮件 - 效果很好。我的上级要我将html-form 的信息保存到MS Access-database 中。
我想不出直接从php 写入MS Access 的解决方案 - 所以我说服他们通过phpMyAdmin 使用MySQL - 通过ODBC 在Access 中链接表.
php 和 MySQL 之间的连接很容易,MS Access 和 MySQL 之间的连接也应该是:
为此,每个客户都需要ODBC-MySQL-Provider 才能打开 IT 部门不想安装的数据库。
我们还在Windows Server 上使用MS SQL Server - 我也可以将php 连接到SQL Server - 但在这种情况下,我们需要在链接表格时安装ODBC SQL Server Provider,如果我们去,我们需要安装SQL Server Native Clients与Ado。 - IT 人员:
没有在所有客户端上安装提供程序。
我的问题是:
是否有任何可能的解决方案来访问
MySQL/SQL Server来自MS Access根本没有安装ODBC-Providers?
我对此压力很大,找不到任何可以满足用户需求和期望的东西。
提前致谢
巴里斯
编辑:工作 php/MySQL-代码 - 基于 mysqli
$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();
}
以下连接字符串适用于使用集成的SQLSRV32.dll-provider 从MS Access 连接到服务器端ms sqlserver。感谢戈德汤普森
cs = "Driver={SQL Server};"
cs = cs & "Server=ip-adress,port-number;"
cs = cs & "Database=database-name;"
con.Open cs, "username", "password"
由于可以连接到SQL Server 而无需额外的提供者,我将选择PDO/SQLServer-组合,并根据上面的连接字符串加载数据。
【问题讨论】:
-
你到底为什么要这样做?使用 PDO 并直接写入 sql server 无需使用 access 或 mysql,因为您已经拥有一个完整的 sql server 甚至更好...网站 php、mysql、内部网站 php 他们可以访问数据通过网络浏览器或通过电子邮件发送给他们,如果他们有那么迟钝
-
我别无选择,只能使用 MS Access 作为前端数据库。要求很明确,数据最终需要找到通往 MS Access 的途径。我对此也不满意,但关键利益相关者确实希望坚持使用 MS Access,而 SQL Server 和 ODBC 提供程序的问题仍然存在
-
您需要在每个运行 ms 访问前端数据库的客户端上安装某种驱动程序以连接到 mysql 或 ms sql。如果 IT 拒绝在所有客户端上安装广为人知且经过良好测试的驱动程序,那么他们愿意安装其他驱动程序的机会有多大?顺便说一句,ms access 在默认设置下安装本机 sql server 驱动程序,因为 ms access 项目类型数据库,其中后端在 ms sql 中,但前端在 ms access 中。所以,我会检查是否尚未安装 ms sql 驱动程序。
-
您可能需要考虑以下设置:a) 将您的 ms access 数据库拆分为 2 个数据库,1 个用于安装在所有客户端上的前端,1 个用于所有数据所在的后端(这是安装在服务器计算机上)。 b) 将后端数据库中的表链接到前端数据库 c) 仅在后端数据库所在的服务器计算机上安装 myodbc 或 ms sql 驱动程序。 d) 仅将您的数据与后端数据库同步。
-
作为 Windows 本身的标准组件安装的旧版“SQL Server”ODBC 驱动程序 (SQLSRV32.DLL) 怎么样?您的公司是否也将这一点从您手中夺走了?
标签: php mysql sql-server ms-access odbc