草庐IT

php - 在 Ubuntu 上从 PHP 连接到 SQL Azure

我正在尝试通过在Ubuntu11.04服务器上运行的PHP连接到SQLAzure数据库。服务器正在运行PHP版本=>5.3.5-1ubuntu7.11。我已经使用apt-getinstall多次安装了freetds-bin、freetds-common、tdsodbc、odbcinst、php5-odbc和unixodbc。我试图编译支持SSL的FreeTDS,但不确定是否成功。此时,我在尝试使用isql工具进行连接时收到错误“08S01-通信链接失败”。一篇Microsoft文章将错误解释为“在SQLDriverConnect函数完成处理之前,驱动程序与驱动程序尝试连接的数据源之间的

php - 使用来自 Lumen 的 PHP PDO 调用 SQL Server 存储过程以获得返回值会出现语法错误

我正在尝试从SqlServer存储过程中获取返回值。但它在我使用FreeTDS的Ubuntu服务器中出现语法错误。SQLSTATE[HY000]:Generalerror:20018Incorrectsyntaxnear'0'.[20018](severity15)[(null)]下面是我的代码:$stateId=1;$testData=0;$retVal=0;$pdo=DB::connection(env('DBCONNECTION'))->getPdo();$stmt=$pdo->prepare('EXEC?=GetMyCities_sp@StateID=?,@TestData=?

php - pdo-odbc 不适用于绑定(bind)值,nvarchar 和文本在等于运算符中不兼容

有一列url(nvarchar(200),notnull)setAttribute(PDO::ATTR_PERSISTENT,false);$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);//plainsqlquery:WORKSFINE!$sth=$pdo->prepare("SELECTCOUNT(*)FROMpaginaWHEREurl='/webito'");$sth->execute();//usingbindValue:ERROR!$sth=$pdo->prepare("SELECTCOUNT(*)FRO

php - 使用 unixOdbc 的 SELECT 之一失败 - SQLSTATE [24000] : Invalid cursor state

我正在运行安装了FreeTDS和ODBC(软件包:php5-odbc)的Ubuntu13.10。我用的是tdsversion=8.0,也试过tdsversion=7.2。我正在使用PDO,这是我的DSN:$dsn=sprintf('odbc:Driver=FreeTDS;Server=%s;Port=1433;Database=%s',DB_SQL_SERVERNAME,DB_DB_NAME);我连接到MSSQL实例并使用事务执行一些INSERT/SELECT查询,但我无法弄清楚此查询失败的原因:SELECTidFROMtblColumnsWHEREsiteID=10063ANDtyp

php - 在 PHP PDO-ODBC、unixODBC 和 FreeTDS 中使用类型化绑定(bind)参数

我正在使用以下设置从PHP应用程序访问MS-SQL数据库红帽企业Linux5带有PDO和PDO_ODBC的PHP5.2.14unixODBC2.2.11FreeTDS0.82.1.dev.20100810未参数化的查询工作正常。唯一的问题是被迫在单个结果语句上关闭游标(使用PDOStatment::closeCursor)以避免“0[FreeTDS][SQLServer]游标状态无效(SQLSTATE=24000)”错误。但是我在类型化绑定(bind)参数方面遇到了一个主要问题。使用这样的代码时:$stmt=$PDO->prepare('INSERTINTOtable(column1,

php - 如何在 MSSQL 中存储和检索扩展的 ASCII 字符

我很惊讶我无法通过搜索找到这个问题的直接答案。我有一个使用PHP编写的Web应用程序,它接受用户输入。由于应用程序的性质,用户可能经常使用扩展的ASCII字符(也称为“ALT代码”)。我目前的具体问题是ALT代码26,它是一个右箭头(→)。这将与其他文本一起存储在同一字段中(例如,'this→that')。我的列类型是NVARCHAR。这是我尝试过的:我试过不进行任何转换,只是像往常一样插入值,但该值存储为thisâ??that.我尝试使用iconv('UTF-8','UCS-2',$value)在PHP中将值转换为UCS-2,但我收到一条错误消息Unclosedquotationma

php - SQL Server 错误 1934 发生在 INSERT 到具有计算列 PHP/PDO 的表中

将计算列添加到SQLServer2005中的表后,我在INSERT上收到以下消息,仅通过PHP(使用PDO)它在SQLServerManagmentStudio中工作正常。为确保一切正确,我使用SQLServerProfiler设置了一个跟踪并将INSERT语句复制/粘贴到SQLServerManagmentStudio中。它在SSMS中运行良好,但在PHP中继续失败。Erroraddingcontact:SQLSTATE[HY000]:Generalerror:1934GeneralSQLServererror:CheckmessagesfromtheSQLServer[1934](

FreeTDS库文件之在BC-Linux服务器上的编译安装

《FreeTDS库文件之C++代码中的简单应用》  在安装FreeTDS库文件之前,我查阅了好多的文章,讲述的都是freetds-0.9x的一些老版本的安装。而没有找到关于freetds最新版本的安装说明的。我想大概是我搜索方式不对吧。无奈只能不断摸索,最终将GitHub上下载的最新版本的FreeTDS源代码编译成功了。  写本文的当前时间为2023年2月15日,GitHub上freetds的源码链接:https://github.com/FreeTDS/freetds。目前发布的最新的Releases版本是1.3.17。  新版本的源码和旧版本的源码最大的区别在于没有了现成的configur

python - 在 'Windows Credentials' 的 Linux 上使用 python 连接到 MS SQL Server

有什么方法可以使用Windows域凭据在linux上使用python连接到MSSQLServer数据库?我可以使用Windows凭据从我的Windows机器完美连接,但尝试使用pyodbs+freetds+unixodbc从linuxpython做同样的事情>>importpyodbc>>conn=pyodbc.connect("DRIVER={FreeTDS};SERVER=servername;UID=username;PWD=password;DATABASE=dbname")导致此错误:class'pyodbc.Error'>:('28000','[28000][unixODB

python - pymssql 和 Adaptive Server 连接失败

当我尝试在python中通过Pymssql连接到Azure数据库时,我遇到了这个错误:pymssql.OperationalError:(20002,'DB-Liberrormessage20002,severity9:\nAdaptiveServerconnectionfailed(iprice-bi.database.windows.net:1433)\n')我通过tsql命令连接到数据库:tsql-Hserver-p1433-Uusername-Ppasswordlocaleis"en_US.UTF-8"区域设置字符集是“UTF-8”使用默认字符集“UTF-8”1>选择@@版本2