标签: odbc

如何使用ODBC连接到我的64位SQL Server?

我最近在我的Windows 7 Ultimate x64家用机器上安装了SQL Server 2008 Express.我还有IIS 7.5和PHP 5.3,我试图通过ADODB连接到SQL ,但不断收到此错误:

[Microsoft][ODBC Driver Manager] The specified DSN contains an
architecture mismatch between the Driver and Application
Run Code Online (Sandbox Code Playgroud)

在互联网上进行少量挖掘之后,我认为这是因为SQL Server ODBC驱动程序适用于32位操作系统,而我的64位操作系统.首先,我是否正确?这是我遇到麻烦的原因吗?其次,如果是这样,我该如何解决这个问题呢?是否有任何更新的ODBC驱动程序可以与64位操作系统一起使用?我看了但是找不到任何......

sql sql-server 64-bit odbc

16
推荐指数
1
解决办法
7万
查看次数

ODBC编写的PHP语句

我正在尝试在PHP中使用odbc_prepare和odbc_execute,如下所示:

$pstmt=odbc_prepare($odb_con,"select * from configured where param_name='?'");
$res=odbc_execute($pstmt,array('version'));
var_dump($res);  //bool(true)
$row = odbc_fetch_array($pstmt);
var_dump($row);  //bool(false)
Run Code Online (Sandbox Code Playgroud)

第一个var_dump返回true,因此执行成功,但没有返回任何行.param_name ='version'确实存在一行.为什么没有返回行?

为了让事情变得有趣,我使用准备好的插件在php中运行了另一个非常简单的示例.

$pstmt=odbc_prepare($odb_con,"insert into tmp1 values(?,'?')");
Run Code Online (Sandbox Code Playgroud)

这行本身就是在数据库中插入一行!! 当然这是错的?输入的数据是col 1 =空白,col 2 =?

任何关于从哪里开始修复此建议的建议将不胜感激,谢谢.

编辑:这是在PHP 5.2.8中

php odbc prepared-statement

16
推荐指数
2
解决办法
1万
查看次数

用于在Windows上将node.js连接到odbc的库?

我正在寻找一个允许node.js连接到Windows上的ODBC的库.到目前为止我找到的所有库似乎都与UnixODBC一起工作但不是Windows,有人可以建议一个可以与Windows一起使用的库吗?

windows ms-access odbc node.js

16
推荐指数
1
解决办法
1万
查看次数

未找到数据源名称,并且未指定默认驱动程序

我需要帮助修复错误:SQL state IM014 in SQLConnectSQL state IM002 in SQLConnect.

我运行相同的脚本,一个打开webserver/remote/,另一个从本地计算机尝试访问同一个数据库,但我得到不同的错误消息.

当我从网络服务器运行它我得到

SQL错误:[unixODBC] [驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序,SQL中的SQL状态IM002

当我在本地机器上运行时,我得到了

[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配

我在php脚本中使用以下代码连接到本地数据库

$odbc['dsn'] = "SageLine50v19";
$odbc['user'] = "Peac";
$odbc['pass'] = "XXXX";
$mysql['host'] = "localhost";
$mysql['user'] = "root";
$mysql['pass'] = "";
$mysql['dbname'] = "sagetest";
$mysql['idfield'] = "id";


// Step 1: Connect to the source ODBC database
if ($debug) echo "Connect to " . $odbc['dsn'] . ' as ' . $odbc['user'] . "\n";
$conn = odbc_connect($odbc['dsn'], $odbc['user'], $odbc['pass']);
if (!$conn) { …
Run Code Online (Sandbox Code Playgroud)

php sql sql-server odbc

16
推荐指数
1
解决办法
2万
查看次数

PostgreSQL ODBC驱动程序未显示在控制面板中(数据源)

我安装了psqlODBC,当我转到控制面板 - >数据源(ODBC)时,我没有看到安装了Postgres驱动程序.

我重新启动,仍然没有.

然后我注意到,如果我从文件中启动此控制面板小程序,则会c:\WINDOWS\system32\odbccp32.cpl突然出现驱动程序!

这发生在XP 64位机器上.

我无法解释为什么会这样,或者它的含义是什么.

从控制面板启动时,rundll32的命令行是:

"rundll32.exe" shell32.dll,Control_RunDLL "c:\WINDOWS\system32\odbccp32.cpl",
Run Code Online (Sandbox Code Playgroud)

(此数据来自Process Explorer)

odbccp32.cpl从命令行启动时:

"C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\WINDOWS\system32\ODBCCP32.CPL",@0
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

postgresql 64-bit odbc controlpanel

15
推荐指数
1
解决办法
2万
查看次数

链接的SQL Server数据库给出"不一致的元数据"错误

我目前正在运行第三方软件套件,它使用SQL Server作为其数据库.我有一个在不同位置运行的第二个SQL Server实例,我在该实例中构建的一些应用程序SQL Server需要访问第三方软件中的某些数据.因此,我在框之间创建了一个ODBC连接,并在我的SQL Server版本上将第三方SQL服务器设置为链接服务器.作为测试,我从我的SQL服务器运行以下语句,访问第三方表之一:

SELECT * FROM LinkedServerName.SchemaName.dbo.TableName
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

OLE DB error trace [Non-interface error:  Column 'TableRowVersion' (compile-time
ordinal 4) of object '"SchemaName"."dbo"."TableName"' was reported to have a
DBCOLUMNFLAGS_ISROWVER of 0 at compile time and 512 at run time].

Msg 7356, Level 16, State 1, Line 1

OLE DB provider 'MSDASQL' supplied inconsistent metadata for a column. Metadata
information was changed at execution time.
Run Code Online (Sandbox Code Playgroud)

对于我尝试访问的任何其他表,此错误都是相同的.这个错误意味着什么,是否有办法绕过它?

sql-server oledb odbc linked-server

15
推荐指数
3
解决办法
4万
查看次数

64位ODBC异常

当我将开发平台从Windows XP X86移动到Windows 7 X64时,我收到以下ODBC异常:

ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
Run Code Online (Sandbox Code Playgroud)

我确定这意味着它连接的服务器是32位,我运行的计算机是64位,使用的ODBC驱动程序是64位.

我正在编写的应用程序设置为以32位模式运行,因为我们使用的某些第三方软件不是64位兼容的.

我尝试下载32位驱动程序并更改DSN,但它没有解决我的问题.我仍然得到例外.

如果任何人有任何32位SQL驱动程序的链接,或任何关于我如何通过改变项目来解决这个问题的想法,我都听到了.

提前致谢,

-Jrud-

vb.net odbc sql-server-2005 driver windows-7-x64

15
推荐指数
1
解决办法
2万
查看次数

用于Linux和PHP 5.4的MSSQL Server的本机ODBC驱动程序

我在Linux Debian 6 x64上安装了Apache 2.2.16和PHP 5.4.3.

要为Linux安装MSSQL Server的本机ODBC驱动程序,我用了以下说明: http://www.codesynthesis.com/~boris/blog/2011/12/02/microsoft-sql-server-odbc-driver-linux/

我这样配置我的odbc.ini文件:

[mydsn]
Driver      = SQL Server Native Client 11.0
Database    = datbase
Server      = xxx.xxx.xxx.xxx,port
Run Code Online (Sandbox Code Playgroud)

和我的odbcinst.ini这样:

[SQL Server Native Client 11.0]
Description=Microsoft SQL Server ODBC Driver V1.0 for Linux
Driver=/opt/microsoft/sqlncli/lib64/libsqlncli-11.0.so.1790.0
Threading=1
UsageCount=1
Run Code Online (Sandbox Code Playgroud)

要测试,我运行以下命令:

$ isql -v mydsn dbusername dbpassword
Run Code Online (Sandbox Code Playgroud)

我成功了:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
Run Code Online (Sandbox Code Playgroud)

然后,使用phpize在PHP 5.4上安装unixODBC,使用:(使用第一个命令,ln -s ...,因为./configure在默认位置找不到php的头文件)

$ sudo ln -s /usr/include/php5 /usr/include/php
$ …
Run Code Online (Sandbox Code Playgroud)

php linux sql-server odbc

15
推荐指数
2
解决办法
3万
查看次数

如何检查Hive中是否存在表?

我通过.NET应用程序中的ODBC驱动程序连接到Hive.是否有查询来确定表是否已存在?

例如,在MSSQL中,您可以查询INFORMATION_SCHEMA表,在Netezza中,您可以查询_v_table表.

任何援助将不胜感激.

sql odbc hive

15
推荐指数
5
解决办法
4万
查看次数

Laravel到SQL Server(sqlsrv).[PDOException]找不到驱动程序

介绍.我的laravel应用程序使用的是mysql,现在它需要托管在我正在工作的公司的网络中(我是一名远程工作者).这家公司是微软的,所以我需要将laravel集成到他们的SQL Server中.

我的.env中有这个

DB_CONNECTION=sqlsrv
DB_HOST=ip.address.of.server
DB_PORT=3306
DB_DATABASE=my_db
DB_USERNAME=my_username
DB_PASSWORD=my_password
Run Code Online (Sandbox Code Playgroud)

使用完毕后 php artisan migrate

错误:

  [PDOException]
  could not find driver
Run Code Online (Sandbox Code Playgroud)

我正在使用Ubuntu,一个专用于我的远程盒子(来自我的雇主).我之前尝试在我的laravel应用程序中使用sql server(使用我的Windows PC).据我记得,我在xampp php.ini中编辑了一些文本.作为一个新手Linux用户,对我来说太难了(因为我只使用CLI).

EDITED(新版本)

所以我已经从Ubuntu连接到数据库服务器了.我用了sqlcmd -S <host> -U <username>

我测试了查询(例如SELECT * from users_data)并且它有效.

现在,我修改了config/database.php,我添加了这个.

'sqlsrv' => [
                'driver'   => 'MSSQL',
                'host'     => env('DB_HOST', 'host.of.the.database'),
                'database' => env('DB_DATABASE', 'my_database'),
                'username' => env('DB_USERNAME', 'my_username'),
                'password' => env('DB_PASSWORD', 'my_pass'),
          'port'     => '1433',
                'prefix'   => '',
            ],
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误:

[InvalidArgumentException]
  Unsupported driver [MSSQL]
Run Code Online (Sandbox Code Playgroud)

"MSSQL"是我用来配置FreeTDS的名称.

php sql-server odbc pdo laravel

15
推荐指数
2
解决办法
3万
查看次数