GVKun编程网logo

没有配置好 PHP 与 MSSQL Server 数据库的连接_PHP教程(没有配置任何数据源来运行此sql)

4

如果您想了解没有配置好PHP与MSSQLServer数据库的连接_PHP教程的相关知识,那么本文是一篇不可错过的文章,我们将对没有配置任何数据源来运行此sql进行全面详尽的解释,并且为您提供关于Azu

如果您想了解没有配置好 PHP 与 MSSQL Server 数据库的连接_PHP教程的相关知识,那么本文是一篇不可错过的文章,我们将对没有配置任何数据源来运行此sql进行全面详尽的解释,并且为您提供关于Azure ACI和文件共享-无法访问卷安装的Linux MSSQL Server、Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)、lnmp 环境里安装 mssql 及 mssql 的 php 扩展、lua 访问 mssql 的驱动(好用的)是哪一个?对 mysql/pgsql 的支持不错,但希望先在 mssql 能用起来的有价值的信息。

本文目录一览:

没有配置好 PHP 与 MSSQL Server 数据库的连接_PHP教程(没有配置任何数据源来运行此sql)

没有配置好 PHP 与 MSSQL Server 数据库的连接_PHP教程(没有配置任何数据源来运行此sql)

  问题描述:转换时,出现“没有配置好 php 与 mssql server 数据库的连接!”错误提示

  问题分析:只有原数据库类型是 MSSQL 数据库的时候,才可能出现这个错误提示。一般是因为 PHP 没有正确加载 MSSQL 模块造成的。

  解决办法:

  一、如果您使用的空间是虚拟空间,请联系空间商。

  二、如果您对服务器有管理权限,请看下面解决办法

立即学习“PHP免费学习笔记(深入)”;

  1、如果您的服务器系统是 windows ,那么打开 php.ini,找到:

  ;extension=php_mssql.dll

  把前面的分号去掉,然后重启 web 服务器。

  如果没有找到以上代码,请添加以下代码到 php.ini 中,保存,并重启 web 服务器:

  extension=php_mssql.dll

  如果您的服务器是 linux 系统的,请重新编译 PHP ,使之成功加载 MSSQL 模块。

  2、检查下 PHP 的安装根目录 ext 下是否有 php_mssql.dll ,如果没有,请下载相应 PHP 版本的 php_mssql.dll 并拷贝到该目录下

  3、下载附件,解压后,把 ntwdblib.dll 拷贝到 c:/windows/system32/ 下,然后重启 web 服务器。

  附件下载>>>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/364260.htmlTechArticle问题描述:转换时,出现没有配置好 PHP 与 MSSQL Server 数据库的连接!错误提示 问题分析:只有原数据库类型是 MSSQL 数据库的时候,才可能出...

Azure ACI和文件共享-无法访问卷安装的Linux MSSQL Server

Azure ACI和文件共享-无法访问卷安装的Linux MSSQL Server

成功创建ACI但无法访问ACI的原因是,mssql服务器无法正常运行。将Azure文件共享安装到容器的路径/var/opt/mssql时,文件共享将覆盖其中的所有文件。但是,文件对于mssql服务器运行是必需的。因此服务器无法启动。

可能的解决方案是将文件共享安装到不存在或不影响mssql服务器运行的新路径。然后,您需要将所需的数据手动传输到安装路径。这不是一个好的解决方案。但是由于文件共享安装的限制,现在没有更好的解决方案。

Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)

Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)

我正在尝试使用MSsql DB创建自己的Docker镜像以进行开发.它基于microsoft / mssql-server-linux映像.在构建期间,我想将一些.sql文件复制到容器中,然后运行这些脚本(创建数据库模式,表,插入一些数据等).我的Dockerfile看起来像这样:

# use MSsql 2017 image on Ubuntu 16.04
FROM microsoft/mssql-server-linux:2017-latest

# create directory within sql container for database files
RUN mkdir -p /opt/mssql-scripts

# copy the database files from host to container
copY sql/000_create_db.sql /opt/mssql-scripts

# set environment variables
ENV MSsql_SA_PASSWORD=P@ssw0rd
ENV ACCEPT_EULA=Y

# run initial scripts
RUN /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'P@ssw0rd' -i /opt/mssql-scripts/000_create_db.sql

在我看来,000_create_db.sql的内容并不重要.

真正的问题是当我尝试使用命令docker build -t demo构建这个Dockerfile时.我总是得到这些错误:

sqlcmd: Error: Microsoft ODBC Driver 13 for sql Server : Login timeout expired.
sqlcmd: Error: Microsoft ODBC Driver 13 for sql Server : TCP Provider: Error code 0x2749.
sqlcmd: Error: Microsoft ODBC Driver 13 for sql Server : A network-related or instance-specific error has occurred while establishing a connection to sql Server. Server is not found or not accessible. Check if instance name is correct and if sql Server is configured to allow remote connections. For more information see sql Server Books Online..

但是当我删除最后一个命令(运行初始脚本)时,构建并运行图像,并调用相同的命令:

docker build -t demo .
docker run -p 1433:1433 --name mssql -d demo
docker exec -it mssql "bash"
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'P@ssw0rd' -i /opt/mssql-scripts/000_create_db.sql

一切都进展顺利.为什么我不能从Dockefile运行脚本?

从mssql-server-linux dockerfile看起来mssql是在docker run上启动的,所以你必须修改你的dockerfile中的最后一个“RUN”命令,在后台启动sql-server,运行你的sql文件并停止sql-服务器.

RUN /opt/mssql/bin/sqlservr --accept-eula & sleep 10 \
    && /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'P@ssw0rd' -i /opt/mssql-scripts/000_create_db.sql \
    && pkill sqlservr 

lnmp 环境里安装 mssql 及 mssql 的 php 扩展

lnmp 环境里安装 mssql 及 mssql 的 php 扩展

小活中用到 mssql, 于是在自己 lnmp 环境中安装各 mssql 数据库

步骤如下: 

源码编译安装

(1)下载 freetds-stable-0.91 源码: http://download.csdn.net/download/xhu_eternalcc/7457555(花了 4 积分,没有积分的找我要,微信 zmd1047773569)
          上传到根目录下的 download 文件中
(2)编译安装:
   # cd /download

           # tar zxvf freetds-stable.tgz(解压,)

 

   # cd freetds-0.91

   # 编译

            # ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib

            # make

            # make install

            参数解释:

            安装 freetds 到目录 /usr/local/freetds:--prefix=/usr/local/freetds

            支持 MSSQL2000:--with-tdsver=8.0 --enable-msdblib

 

配置 FreeTds 的库文件

将 freetds 的库文件所在路径配置到 LD_LIBRARY_PATH 参数中:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/localfreetds/lib/:

或者直接把 etc/bashrc 的文件 bashrc 直接填写上  LD_LIBRARY_PATH=/usr/localfreetds/lib:$LD_LIBRARY_PATH

这么作的目的是为了避免加载 FreeTds 库文件加载不上的情况。

 

 

php 里安装 php-mssql 扩展:

cd /download (把php-mssql扩展下载到download目录里)
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz (下载扩展文件,这里要根据你环境中运行的php版本选择对应的扩展版本下载,我这里php是5.6.30的 所以php-mssql扩展下载对应的版本) tar -zxvf php-5.6.30.tar.gz cd /php-5.6.30/ext/mssql
 /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/ 

make
&& make install

编译安装后的结果 如下图

 

同时 mssql.so 也在 php 扩展文件下生成 (如下图)

 

 

 

 把 extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"  添加到 usr/local/php/lib/php.ini 中

 引用扩展后,重启 web 服务,通过 phpinfo 查看扩展 mssql 是否开启成功

重启 php   /usr/local/php/sbin/php-fpm reload  

重启 nginx  进入 nginx 可执行目录 sbin 下,输入命令./nginx -s reload 即可(或者 /application/nginx/sbin/nginx -s reload)

 

 

 

lua 访问 mssql 的驱动(好用的)是哪一个?对 mysql/pgsql 的支持不错,但希望先在 mssql 能用起来

lua 访问 mssql 的驱动(好用的)是哪一个?对 mysql/pgsql 的支持不错,但希望先在 mssql 能用起来

lua 访问 mssql 的驱动(好用的)是哪一个?

lua 对 mysql/pgsql 的支持不错,但对 mssql 的访问,总是不太顺

而目前希望先在 mssql 能用起来

关于没有配置好 PHP 与 MSSQL Server 数据库的连接_PHP教程没有配置任何数据源来运行此sql的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Azure ACI和文件共享-无法访问卷安装的Linux MSSQL Server、Docker mssql-server-linux:如何在构建期间启动.sql文件(来自Dockerfile)、lnmp 环境里安装 mssql 及 mssql 的 php 扩展、lua 访问 mssql 的驱动(好用的)是哪一个?对 mysql/pgsql 的支持不错,但希望先在 mssql 能用起来等相关内容,可以在本站寻找。

本文标签: