ODBC连接问题
PB用ODBC连接数据库(SQL Server)和用专用接口连接数据库的区别
问题1:PB用ODBC连接数据库(SQL Server)和用专用接口连接数据库的区别?我发现PB用专用接口连接数据库时,对Varchar型字段最多只能存200多个汉字,但是用ODBC 连接可以存4000个,可达到Varchar(8000)的最大长度,这是什么原因,怎么改进?专用接口连接数据库时,对SQL Server的存储过程支持要比ODBC 好,如果用ODBC 连接,对带参数的数据窗口(采用存储过程),没法传递参数,但是专用接口连接数据库却可以。
问题2:关于PB动态生成数据窗口的问题。
比如用如下代码生成一个数据窗口,在编辑时每一个编辑框都会出现一个兰色的背景框或者底框,怎么去掉?==========================================================string ERRORS, sql_syntaxstring presentation_str, dwsyntax_strsql_syntax = "SELECT emp_data.emp_id,"&+ "emp_data.emp_name FROM emp_data "&+ "WHERE emp_data.emp_salary > 45000"presentation_str = "style(type=grid)"dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax, &presentation_str, ERRORS)IF Len(ERRORS) > 0 THENMessageBox("Caution", &"SyntaxFromSQL caused these errors: " + ERRORS)RETURNEND IFdw_1.Create( dwsyntax_str, ERRORS)IF Len(ERRORS) > 0 THENMessageBox("Caution", &"Create cause these errors: " + ERRORS)RETURNEND IFDW_1.settransoject(sqlca)dw_1.retrieve()==========================================不能贴图,大家可以自己实验一下,应该是生成那个SQL的字符串sql_syntax不够细致,怎么样能使数据窗口漂亮些。
测试ODBC连接
在软件操作中,经常出现连接不到服务器的情况
ODBC没有连接上就是导致连接不到服务器的原因之一。
在此是测试ODBC是否连接的详细步骤。
1、在控制面板中选择“管理工具”
注意:在XP系统中,在控制面版-----性能与维护-----管理工具
图示如下:
2、选择“数据源(ODBC)”
3、点击“添加”
4、选择SQL server
5、输入名称(任意)和服务器地址
(注意:填服务器地址的时候,若在客户端测试请输入服务器的ip地址)
6、选择“使用用户输入登陆ID和密码的SQL server验证
输入登陆ID和密码(一般口令为SA,密码为空)
7、点击下一步,直至完成即可
8、测试数据源
9、测试成功 >0<
注意:
1服务器地址的输入。
2用户ID和密码的输入。
若输入有误同样会出现测试失败的情况。
关于ODBC数据源连接文本
关于ODBC数据源连接⽂本关于ODBC数据源连接⽂本 在《外部数据库的连接原理》⼀讲中我们说过,ODBC提供对多种数据库的⽀持,如dBase、Access、MS SQL Server及Oracle,也就是说运⽤ODBC数据源中所提供的连接代码,我们可以实现对多种数据库的连接。
以连接Access数据库为例,ODBC数据源连接⽂本的格式是: “Driver={数据库驱动程序};Dbq=数据库⽂件;” 在以上连接⽂本中,如果数据库跟程序在同⼀⽬录下,或者⽤变量DefaultDir指定了数据库所在⽬录,则数据库⽂件可以不⽤全路径名,如下即可: “ODBC;DBQ=MSAccess.mdb;Driver={Microsoft Access Driver (*.mdb)};” 如下也可: “ODBC;DBQ=MSAccess.mdb;DefaultDir=d:/Downloads/e21;Driver={Microsoft Access Driver (*.mdb)};” 如果数据库跟程序不在同⼀⽬录下,或者没有⽤变量DefaultDir指定数据库所在⽬录,则数据库⽂件需要⽤全路径名,如下: “ODBC;DBQ=E:/Quake III Arena/MSAccess.mdb;Driver={Microsoft Access Driver (*.mdb)};” 以上所说的是连接Access数据库的格式,那么连接其他数据库的ODBC数据源连接⽂本⼜是怎样的?连接不同类型的数据库要使⽤不同的对应驱动程序,没忘记吧!不同的驱动程序当然它们的参数组合也就不同了,每⼀种不同驱动程序都有其特定的的参数形式: ⑴、MS Access ODBC DSNless 连接: ☆、参数:Driver 设置值:{Microsoft Access Driver (*.mdb)} ☆、参数:Dbq 设置值:实际路径⽂件名称 ☆、例句: “Driver={Microsoft Access Driver (*.mdb)};Dbq=c:/somepath/dbname.mdb;Uid=Admin;Pwd=pass; ” ⑵、dBase ODBC DSNless 连接: ☆、参数:Driver 设置值:{Microsoft dBASE Driver (*.dbf)} ☆、参数:Dbq 设置值:实际路径⽂件名称 ☆、例句: “Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:/somepath/dbname.dbf; ” ⑶、Oracle ODBC DSNless 连接: ☆、参数:Driver 设置值:{Microsoft ODBC for Oracle} ☆、参数:Dbq 设置值:实际路径⽂件名称 ☆、例句: “Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=admin;Pwd=pass; ” ⑷、MS SQL Server DSNless 连接: ☆、参数:Driver 设置值:{SQL Server}; ☆、参数:Server 设置值:服务器名称 ☆、参数:Database 设置值:数据表名称 ☆、参数:Uid 设置值:⽤户名称 ☆、参数:Pwd 设置值:密码 ☆、例句: “Driver={SQL Server};Server=servername;Database=dbname;Uid=sa;Pwd=pass; ” ⑸、MS Text Driver DSNless 连接: ☆、参数:Driver 设置值:{Microsoft Text Driver (*.txt; *.csv)} ☆、参数:Dbq 设置值:实际路径⽂件名称 ☆、例句: “Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:/somepath/;Extensions=asc,csv,tab,txt;Persist Security Info=False;” ⑹、Visual Foxpro DSNless 连接: ☆、参数:Driver 设置值:{Microsoft Visual FoxPro Driver} ☆、参数:SourceType 设置值:DBC ☆、参数:SourceDB 设置值:实际路径⽂件名称 ☆、例句: “Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:/somepath/dbname.dbc;Exclusive=No;” ⑺、MySQL DSNless 连接: ☆、参数:Driver 设置值:{mysql} ☆、参数:database 设置值:数据表名称 ☆、参数:uid 设置值:⽤户名称 ☆、参数:pwd 设置值:密码 ☆、例句: “driver={mysql}; database=yourdatabase;uid=username;pwd=password;option=16386”*******************************************************************SQL语⾔简介 在上⼀讲中我们介绍了连接外部数据库的⽅法,那么连接之后怎样对外部数据库进⾏读取、显⽰、增删、更新、查询等操作呢?这些操作需要通过外部数据库等对象调⽤SQL指令才能完成。
qt连接数据库sql server ODBC 不能正常驱动解决办法
1 经过小白的两天努力终于将qt连接sql server 数据库的问题解决网上的例子几乎尝试完毕,希望我的这些能给大家些参考:Qt连接sql server ODBC不能驱动,1 第一步检查自己的目录下面有没有这样的两个文件如图:如果没有自己需要手动驱动,或则通过代码检查自己的qt是否支持对sql server的驱动代码如下所示:运行结果如下图所示:这里面是有QODBC说明是对sql server的支持,当然有的时候存在,在我们打开数据库的时候未必支持,也许你上面qsqlodbc.dll 和qsqlodbcd.dll库不是你自己的库,可能是重网上下载的,或则给别人要的,这个两个库相当重要,下面介绍如何自己编译这两个库,我是在windows 下手都编译的当然在windows下命令行也可以自己输入命令进行编译生成指定的动态库,当然啦命令行的,网上百度一大堆,下面小白自己介绍一下自己手动的生成动态库的方法:1 步骤1 入下图:进该目录下:打开.pro文件:第二步:构建->重新构建项目odbc->查看qt\qt5.6.0\5.6\Src\qtbase\plugins\sqldrivers\odbc目录下面是否有qsqlodbc.dll和qsqlodbcd.dll这两个库,如果有恭喜你构建成功,如果没有可去这个文件下面找这两个库(小编的当时就在这个文件下面)路径入下图所示:第三步骤:将搞好的库拷贝复制过来放到如下文件夹里面:点击运行就可以连接你的sql server 数据库啦以上不同的可能路径不对其他的可按步骤进行操作:也许开发环境的不同导致不能正常运行:Qt 5.6.0.32位windows server 2012 64 位系统连接sql server 2012以上简单的介绍希望对你有点帮助!再此非常感谢那位来自南京的朋友的帮助!。
wincc的ODBC连接
对WinCC的远程ODBC连接显示订货号问题:WinCC V5.1版本的标准设置中,不可以设置ODBC连接。
它被用来通过MS Access, MS Query 等访问WinCC数据库。
需要注意哪些设置?解答:WinCC 站方面的准备(如果要访问运行系统的数据库,必须启动WinCC 运行系统)。
打开“Sybase Central”,确定WinCC的数据库名。
图1:启动“Sybase Central”选择菜单选项“工具> 连接”。
在打开的掩码中按以下输入用户ID:dba口令:sql图2:登录到数据库在Sybase窗口中,可看到WinCC站名在窗口左边。
点击+ 图标放大画面。
现在可看到2个数据库。
记住想要进行远程访问的数据库名。
以RT 结尾的数据库为运行系统数据库,其它的为CS数据库。
图3a: 确定数据库名鼠标右键点击所要数据库的属性,也可以选择数据库名并将它复制到剪贴板。
如果这样做并将名字储存在文本文件中,可以避免符号使用中的错误。
(图3b)。
图3b:复制数据库名到剪贴板远程站上的必要设置(另一台计算机)。
从控制面板中启动“数据源(ODBC)” (Windows NT)或通过“启动> 程序> ODBC数据管理器”(Windows 2000)启动。
图4:ODBC窗口中的设置切换到“系统DSN”标签并选择“添加”(在此需注意“用户DSN”与“系统DSN”间的不同。
有关于它们的解释在同窗口中的蓝色文本框中)图5:选择驱动程序“Adaptive Server Anywhere 7.0”在“ODBC”标签中,输入一个独有的名,例如在数据库中的名(但它也可以是所选择的其他名字)。
必须在“延迟AutoCommit直到语句关闭”下打勾,以便在关闭一个链接着的表格时传送所做的改变。
图6:ODBC标签中的设置请注册如下:(图7):用户ID:dba口令:sql图7:“注册”标签中的条目:“数据库”标签中的输入域(图8)含义如下:“服务器名”是数据库所在的WinCC站的站名“数据库名”是上面所提到的名字(SCVIEW)。
连接odbc中的用户dsn时出错
连接odbc中的用户dsn时出错2007-09-12 14:35pingweiwang分类:数据库DB |浏览3030 次SQL State;01000SQL Server 错误11001[ODBC SQL Server Driver][TCP/IP Sockets] Connection Open(Connection Open(Con nect)连接错误SQL Serer错误6未找到指定的SQL Server请问,是不是sql企业服务器里设置错误?分享到:2007-09-12 15:38提问者采纳在SQL Server 2000 自定义安装中,如果只选择了TCP/IP 协议,并禁用了所有其他协议,SQL Server 可能无法初始化并侦听TCP/IP 套接字。
服务器网络实用程序显示它正在侦听TCP/IP 端口1433,但它并未侦听该端口。
客户机可能无法连接,并且可能会出现以下错误消息:Connection failed:SQL State:'01000' SQL Server Error:11004 [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen (Connect()).Connection Failed:SQL S tate:'08001' SQL Server Error:6 [Microsoft][ODBC SQL Server Driver][TCP/IP Socket s]Specified SQL server not found.Unable to connect to server 'servername':Server:Msg 6, Level 16 state 1. [Microsoft] [ODBC SQL Server Driver][TCP/IP Sockets]Specified SQL server not found.[TCP/IP Sockets]Specified SQL server not found.[TCP/IP Sockets]ConnectionOpen (Connect()).请注意:除这种特定情况外,如果有其他TCP/IP 连接问题,也可能会出现以上错误消息。
ODBC连接数据库总结
ODBC连接数据库总结ODBC,全称为Open Database Connectivity,是一种连接数据库的API(应用程序接口),可以使用通用的SQL查询语言来访问各种不同的数据库。
ODBC提供了一个标准化的接口,使得应用程序可以通过统一的方式与不同类型的数据库进行通信。
ODBC的优势在于它提供了一个简单、灵活、可扩展的方法来连接多种数据库系统。
这使得开发人员可以使用相同的代码来连接和操作不同类型的数据库,而不必关心底层数据库的细节。
ODBC还提供了高性能的数据访问和查询功能,可以实现快速的数据检索和处理。
ODBC的使用过程包括几个关键步骤:1.安装和配置ODBC驱动程序:ODBC驱动程序是用来连接特定类型的数据库的组件。
在使用ODBC之前,需要安装和配置适当的ODBC驱动程序。
这通常涉及到安装驱动程序软件,并进行一些配置设置,如指定数据库的位置和连接参数等。
2.创建ODBC数据源:ODBC数据源是一个逻辑名称,用来标识要连接的数据库。
可以通过ODBC管理器来创建和配置ODBC数据源。
配置数据源时,需要提供一些信息,如数据库类型、主机名、端口号、用户名、密码等。
创建数据源后,可以通过该数据源来连接数据库。
3.编写应用程序代码:在编写应用程序代码时,需要使用ODBCAPI来连接数据库和执行SQL查询。
ODBCAPI提供了一组函数和数据结构,用于连接数据库、执行SQL查询、获得结果集等操作。
开发人员需要熟悉ODBCAPI,并使用合适的函数和方法来完成所需的操作。
4.运行和测试应用程序:完成应用程序的编写后,可以进行运行和测试。
在运行应用程序时,需要确保已正确安装和配置了ODBC驱动程序,并且已创建了相应的ODBC数据源。
在测试过程中,可以执行各种SQL查询和操作,来验证数据库连接和数据访问的功能。
ODBC的使用有一些注意事项和最佳实践:1.使用合适的ODBC驱动程序:不同类型的数据库需要使用特定的ODBC驱动程序来连接。
win2003 64位系统下ODBC连接使用
命令:Cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3、重装安装32Bit .NET 2.0
命令:C:\WINDOWS\\Framework\v2.0.50727\aspnet_regiis.exe -r
win2003 64位系统下ODBC连接使用 转自win2003 6服务器若是windows系统,就会采用64位win2003的结构。可是我们编写的程序绝大多数都是在x86下32位cpu架构中 编译的,要正常移植到64位机器还真的是很麻烦,不仅要求应用程序是64位模式编译,还需要数据库也得是64位,iis64位,framework64 位,好在相应的厂商都提供这些支持组件。不知道有人遇到过像我这样的问题么,应用中有需要增加一个Access数据库导入功能,这就需要连接ODBC的 mdb驱动,可是Microsoft OLE DB Provider for Jet不支持64位系统,即使安装了office2007后,发现ODBC也没有任何变化,这下尴尬了。
完成以上修改后,重启电脑,运行网站程序,发现一切都如期望的一样工作!
祝大家好运!
windows2003 64位系统IIS配置方法:
1、因用模版安装 2.0需先卸载64位的.net2.0
命令:C:\WINDOWS\\Framework64\v2.0.50727\aspnet_regiis.exe –u
设置对应的环境变量:右击”我的电脑” – “属性” – “高级” – “环境变量” – “系统环境变量”:
1、新建NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(注意中间有空格,这个如果不设,toad查询中文会是乱码)
odbc数据库配置正确方法
odbc数据库配置正确方法ODBC数据库配置正确方法一、概述ODBC(Open Database Connectivity)是一种标准的数据库访问接口,允许应用程序通过统一的方式连接和访问各种数据库。
正确配置ODBC数据库连接是保证应用程序正常运行的重要环节。
二、安装ODBC驱动程序在进行ODBC数据库配置之前,首先需要安装相应的ODBC驱动程序。
不同的数据库有不同的ODBC驱动程序,因此需要根据实际情况选择合适的驱动程序进行安装。
三、创建ODBC数据源1. 打开ODBC数据源管理器。
在Windows操作系统中,可以通过“控制面板” - “管理工具” - “ODBC数据源(32位)”打开ODBC数据源管理器。
2. 在ODBC数据源管理器中,切换到“用户DSN”或“系统DSN”选项卡,这取决于你希望创建的数据源是用户特定的还是系统范围内可用的。
3. 点击“添加”按钮,选择相应的ODBC驱动程序。
4. 根据ODBC驱动程序的要求填写数据源名称、描述等信息。
5. 配置连接参数,包括数据库服务器地址、端口号、用户名、密码等。
6. 点击“测试连接”按钮,确保连接配置正确。
7. 点击“确定”完成ODBC数据源的创建。
四、配置应用程序连接在应用程序中使用ODBC连接数据库时,需要进行相应的配置。
1. 引入ODBC相关的库文件或依赖。
2. 在应用程序中指定ODBC数据源名称或连接字符串。
ODBC数据源名称是在创建ODBC数据源时指定的名称,连接字符串是连接数据库的一种灵活方式,可以直接指定数据库的地址、用户名、密码等信息。
3. 使用ODBC API或相应的编程语言提供的ODBC接口,进行连接、查询、更新等操作。
五、常见问题与解决方法1. 连接超时:可以尝试增加连接超时时间,或检查网络连接是否正常。
2. 数据库驱动错误:确保安装了正确版本的ODBC驱动程序,驱动程序是否与应用程序位数(32位或64位)一致。
3. 用户名或密码错误:检查用户名和密码是否正确,并确保数据库用户具有足够的权限。
SQL_Server_ODBC数据源连接失败常见的问题总结
SQL Server ODBC数据源连接失败问题总结本文针对SQL Server 不存在或是访问被拒绝、[Microsoft][ODBC Sql Server Driver]无效的连接、SQLSERVER错误:18452三种常见的连接错误问题,提出了解决的方法,并且亲身实践。
在提出问题之前,首先要检查防火墙和杀毒软件是否关闭,接着,在建立连接的时候,要保证SQL Server 服务器是打开的。
以上都做到后,请参考下文的出错情况以及解决方法。
一、错误1:SQL Server 不存在或是访问被拒绝SQLState:01000SQL Server 错误: 64[Microsoft][ODBC SQL Server Driver][DBNETLIB] ConnectionOpen (Connect()) 连接失败SQLState:08001SQL Server 错误: 17[Microsoft][ODBC SQL Server Driver][DBNETLIB] SQL Server 不存在或是访问被拒绝检查1433端口是否打开没有找到1433端口说明1433端口没有打开。
打开1433端口的方法:1.针对我安装的系统SP3,安装的SQL2005默认TCP/IP的状态是禁止的,因此:选择SQL Server Configuration Manager,然后分别打开SQL Server 2005 Services 和SQL Server 2005 Client Configuration,并把TCP/IP和Nameed Pipes的状态设置为Enabled;2.如果不行,就需要更新系统更新后,一定要重启电脑。
.重新检查1433端口,如下图所示,发现1433已经打开。
二、错误2:[Microsoft][ODBC Sql Server Driver]无效的连接再次打开ODBC,进行到第二步时,又出错了,不过这次的错误如图所示,显示的无效的连接,和之前的错误不同。
ODBC连接失败解决办法
SQL Server连接中的三个最常见错误:一. "SQL Server 不存在或访问被拒绝"这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.一般说来,有以下几种可能性:1,SQL Server名称或IP地址拼写有误2,服务器端网络配置有误3,客户端网络配置有误要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.============= 首先,检查网络物理连接=============ping <服务器IP地址/服务器名称>如果ping <服务器IP地址> 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server.防火墙软件可能会屏蔽对ping,telnet 等的响应因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.如果ping <服务器IP地址> 成功而,ping <服务器名称> 失败则说明名字解析有问题,这时候要检查DNS 服务是否正常.有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,具体的方法是:1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc). 添加一条IP地址与服务器名称的对应记录,如:172.168.10.24 myserver2.或在SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.============= 其次,使用telnet 命令检查SQL Server服务器工作状态=============telnet <服务器IP地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明SQL Server 服务器工作正常,并且正在监听1433端口的TCP/IP 连接如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动SQL Server 服务,也可能服务器端没启用TCP/IP 协议,或者服务器端没有在SQL Server 默认的端口1433上监听.=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了TCP/IP 协议等等=============可以利用SQL Server 自带的服务器网络使用工具来进行检查.点击:程序-- Microsoft SQL Server -- 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议.一般而言,我们启用命名管道以及TCP/IP 协议.点中TCP/IP 协议,选择"属性",我们可以来检查SQK Server 服务默认端口的设置一般而言,我们使用SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.============= 接下来我们要到客户端检查客户端的网络配置=============我们同样可以利用SQL Server 自带的客户端网络使用工具来进行检查,所不同的是这次是在客户端来运行这个工具.点击:程序-- Microsoft SQL Server -- 客户端网络使用工具打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.一般而言,我们同样需要启用命名管道以及TCP/IP 协议.点击TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称, 连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.sqlserver服务器--> 开始菜单--> SQLserver--> 服务器网络实用工具--> 启用WinSock代理--> 代理地址:(sqlserver服务器IP)--> 代理端口--> 1433--> OK 了sqlserver客户端--> 开始菜单--> SQLserver--> 客户端网络实用工具--> 别名--> 添加--> 写入别名如"大力"--> "网络库"选tcp/ip--> 服务器名称写入远程ip或实例名--> OK了通过以上几个方面的检查,基本上可以排除第一种错误.-----------------------------------------------------------------------------二. "无法连接到服务器,用户xxx登陆失败"该错误产生的原因是由于SQL Server使用了"仅Windows "的身份验证方式, 因此用户无法使用SQL Server的登录帐户(如sa )进行连接.解决方法如下所示:1.在服务器端使用企业管理器,并且选择"使用Windows 身份验证"连接上SQL Server2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡3.在"身份验证"下,选择"SQL Server和Windows ".4.重新启动SQL Server服务.在以上解决方法中,如果在第 1 步中使用"使用Windows 身份验证"连接SQL Server 失败,那就通过修改注册表来解决此问题:1.点击"开始"- "运行",输入regedit,回车进入注册表编辑器2.依次展开注册表项,浏览到以下注册表键:[HKEY_LOCAL_MACHINE\SOFTW ARE\Microsoft\MSSQLServer\MSSQLServer]3.在屏幕右方找到名称"LoginMode ",双击编辑双字节值4.将原值从1改为2,点击"确定"5.关闭注册表编辑器6.重新启动SQL Server服务.此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,但是仍然无法使用Windows身份验证模式来连接SQL Server.这是因为在SQL Server 中有两个缺省的登录帐户:BUILTIN\Administrators<机器名> \Administrator 被删除.要恢复这两个帐户,可以使用以下的方法:1.打开企业管理器,展开服务器组,然后展开服务器2.展开"安全性",右击"登录",然后单击"新建登录"3.在"名称"框中,输入BUILTIN\Administrators4.在"服务器角色"选项卡中,选择"System Administrators "5.点击"确定"退出6.使用同样方法添加<机器名> \Administrator 登录.说明:以下注册表键:HKEY_LOCAL_MACHINE\SOFTW ARE\Microsoft\MSSQLServer\MSSQLServer\Log inMode的值决定了SQL Server将采取何种身份验证模式.1.表示使用"Windows 身份验证"模式2.表示使用混合模式(Windows 身份验证和SQL Server 身份验证).-----------------------------------------------------------------------------三.提示连接超时如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错.这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.要解决这样的错误,可以修改客户端的连接超时设置.默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒, 而查询分析器是15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).具体步骤为:企业管理器中的设置:1.在企业管理器中,选择菜单上的"工具",再选择"选项"2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如20.查询分析器中的设置:工具-- 选项-- 连接-- 将登录超时设置为一个较大的数字================================================================ ============总结:1.先保证ping通(有防火墙的先关闭防火墙)2.在命令提示符下执行:telnet <服务器ip地址> 1433 不会报错3.连接时使用用ip连接企业管理器4.如果不行SQL Server服务器--开始--程序--Microsoft SQL Server--服务器网络实用工具--启用WinSock代理--代理地址:(sqlserver服务器IP)--代理端口--1433---确定5.如果还不行,在客户端装个SQL Server客户端配置一下:开始--程序--Microsoft SQL Server--客户端网络实用工具--别名--添加--网络库选择"tcp/ip "--服务器别名输入SQL服务器名--连接参数--服务器名称中输入SQL服务器ip地址--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号--检查是否安装了补丁,查询分析器中执行下面的语句:select @@version。
odbc连接数据库,及ado连接数据库
odbc连接数据库做之前先把sql server的服务打开。
1.这种连接方式先要配置一个数据源。
打开控制面板—管理工具—数据源(odbc)—添加选择第一个,点完成。
名称就命名为school吧(我已经创了一个school的所以这里填的school1),服务器填(local)。
下一步,再下一步。
把默认的master数据库改成school。
下一步,完成,然后测试一下连接。
测试成功之后这个数据源就有了。
打开vs2013,新建一个项目。
选择MFC应用程序名称自己取,或者默认。
确定。
选择应用程序类型,单个文档!数据库支持选择“提供文件支持的数据库视图”,ODBC。
选择机器数据源中你刚刚配置的那个数据源。
确定。
再确定。
选择到表Student之后,点确定。
这个MFC的程序就创建好了,接下来开始写。
点击资源视图(在左下角或者你的风格被安排在右下角)选择含有你创建的那个名称的IDD_XXXXXX,双击一下。
出现了上面那个东西。
在视图里面,把工具箱点出来。
在那上面画一个按钮(BUTTON),一个ListBOX在你画好的图上右击—类向导—成员变量选中那个ListBox对应的名字,添加变量。
取个变量名m_list,一会儿我要把查到的东西在这个listbox控件里面输出。
双击那个按钮就可以给这个按钮添加函数啦~加入如下代码while (!m_pSet->IsEOF()){CString a (m_pSet->m_SNO);CString b( m_pSet->m_SNAME);if (m_pSet->m_SDEPT == "信息系"){m_list.AddString(a+"------"+b);}m_pSet->MoveNext();}m_pSet 的这些操作相当于把Student表的数据放到了一个链表里,m_pSet->MoveNext()就是指向下条位置。
SQL数据库ODBC连接错误代码集合
CodeError Mess age 0 操作成功完成。
1 功能错误。
2 系统找不到指定的文件。
3 系统找不到指定的路径。
4 系统无法打开文件。
5拒绝访问。
6句柄无效。
7 存储控制块被损坏。
8 存储空间不足,无法处理此命令。
9存储控制块地址无效。
10环境错误。
11试图加载格式错误的程序。
12 访问码无效。
13 数据无效。
14 存储器不足,无法完成此操作。
15 系统找不到指定的驱动器。
16无法删除目录。
17 系统无法将文件移到不同的驱动器。
18 没有更多文件。
19介质受写入保护。
20 系统找不到指定的设备。
21 设备未就绪。
22设备不识别此命令。
23 数据错误(循环冗余检查)。
24 程序发出命令,但命令长度不正确。
25 驱动器无法找出磁盘上特定区域或磁道的位置。
26无法访问指定的磁盘或软盘。
27 驱动器找不到请求的扇区。
28打印机缺纸。
29系统无法写入指定的设备。
30 系统无法从指定的设备上读取。
31 连到系统上的设备没有发挥作用。
32 进程无法访问文件,因为另一个程序正在使用此文件。
33进程无法访问文件,因为另一个程序已锁定文件的一部分。
36 用来共享的打开文件过多。
38 到达文件结尾。
39磁盘已满。
50不支持网络请求。
51 远程计算机不可用。
52 在网络上已有重复的名称。
53找不到网络路径。
54 网络忙。
55 指定的网络资源或设备不再可用。
56 已到达网络B IOS 命令限制。
57 网络适配器硬件出错。
58 指定的服务器无法运行请求的操作。
59发生意外的网络错误。
60远程适配器不兼容。
61 打印机队列已满。
对WinCC的远程ODBC连接
自动化系统 > SIMATIC HMI人机界面 > HMI 软件 > SCADA 系统 SIMATICWinCC > SIMATICWinCC > 编程(API) > 常问问题对WinCC的远程ODBC连接订货号:6AV637..WINCC SIMATIC HMI SOFTWARE6AV638..WINCC SIMATIC HMI SOFTWARE 26ES7650..SIMATIC PCS7 COMPACT SYSTEM, GENERAL6ES7658..SIMATIC PCS 7, SOFTWARE问题:WinCC V5.1版本的标准设置中,不可以设置ODBC连接。
它被用来通过MS Access, MS Query等访问WinCC数据库。
需要注意哪些设置?解答:z WinCC 站方面的准备 (如果要访问运行系统的数据库,必须启动WinCC 运行系统)。
打开“Sybase Central”,确定WinCC的数据库名。
图 1:启动“Sybase Central”选择菜单选项“工具 > 连接”。
在打开的掩码中按以下输入用户 ID:dba口令:sql图 2:登录到数据库在Sybase窗口中,可看到WinCC站名在窗口左边。
点击 + 图标放大画面。
现在可看到2个数据库。
记住想要进行远程访问的数据库名。
以 RT 结尾的数据库为运行系统数据库,其它的为CS数据库。
图 3a: 确定数据库名鼠标右键点击所要数据库的属性,也可以选择数据库名并将它复制到剪贴板。
如果这样做并将名字储存在文本文件中,可以避免符号使用中的错误。
(图 3b)。
图 3b:复制数据库名到剪贴板z远程站上的必要设置(另一台计算机)。
从控制面板中启动“数据源(ODBC)” (Windows NT)或通过“启动 > 程序 > ODBC数据管理器” (Windows 2000)启动。
图 4:ODBC窗口中的设置切换到“系统DSN”标签并选择“添加”(在此需注意“用户DSN”与“系统DSN”间的不同。
odbc数据源没有oracle
odbc数据源没有oracleODBC数据源没有Oracle概述ODBC(开放数据库连接)是一种用于访问不同数据库的标准接口。
它为应用程序提供了一种与数据库进行通信的方法,无论数据库是何种类型。
然而,有时用户可能会遇到一个问题,就是在他们的ODBC数据源中没有Oracle数据库。
本文将探讨可能导致这种情况发生的原因,并提供一些解决方案。
问题描述用户试图在ODBC数据源中添加一个Oracle数据库作为数据源,但系统却无法找到Oracle数据库选项。
他们只能看到其他数据库选项,比如MySQL、SQL Server等。
这意味着他们无法使用ODBC 来连接Oracle数据库。
可能原因出现这种情况的可能原因有多种。
1. ODBC驱动程序问题:用户可能没有正确安装或配置适用于Oracle数据库的ODBC驱动程序。
ODBC驱动程序是连接数据库的关键组件,如果缺少或有问题,系统将无法识别和提供连接到Oracle数据库的选项。
2. Oracle客户端问题:ODBC连接Oracle数据库依赖于Oracle客户端软件。
如果用户没有正确安装或配置Oracle客户端软件,系统将无法找到可用的Oracle数据库选项。
解决方案以下是一些常见的解决方案,可以尝试解决ODBC数据源中缺少Oracle数据库的问题。
1. 安装正确的ODBC驱动程序:确保在计算机上正确安装了适用于Oracle数据库的ODBC驱动程序。
您可以从Oracle官方网站或其他可信来源下载最新的ODBC驱动程序,并遵循安装指南进行安装。
安装和配置驱动程序后,重新启动计算机,然后检查ODBC数据源是否已提供Oracle数据库选项。
2. 安装正确的Oracle客户端软件:ODBC连接Oracle数据库需要Oracle客户端软件的支持。
确保在计算机上正确安装了适用于您想要连接的Oracle数据库版本的客户端软件。
您可以从Oracle官方网站下载适用于您的操作系统的客户端软件,然后按照安装指南进行安装。
ole db or odbc error 类型不匹配 -回复
ole db or odbc error 类型不匹配-回复标题:解决OLE DB或ODBC错误类型不匹配问题的详细步骤引言:在使用数据库时,经常会遇到类型不匹配的错误,尤其是在使用OLE DB 和ODBC接口进行数据操作时。
这种错误可能会导致数据无法正确地被处理或存储,严重影响系统的正常运行。
本文将为大家详细介绍如何一步一步解决OLE DB或ODBC错误类型不匹配的问题。
通过正确的调试和修复步骤,您将能够解决这类错误,并确保数据库操作的顺利进行。
第一步:了解OLE DB和ODBC接口OLE DB和ODBC是用于访问数据库的两种常见接口。
OLE DB是Microsoft提供的一种面向对象的数据访问技术,支持访问多种数据源。
而ODBC是一种开放的数据访问接口标准,它可以通过驱动程序连接到各种数据库系统。
这两种接口在连接和操作数据库时都需要指定正确的数据类型,否则就会出现类型不匹配的错误。
第二步:分析错误信息当出现OLE DB或ODBC错误类型不匹配时,首先需要分析错误信息。
错误信息中通常会包含关于错误类型和导致错误的原因的详细描述。
根据错误信息,我们可以定位到具体的数据操作语句或字段,并确定出现错误的原因。
第三步:检查数据类型在确认错误发生的位置后,接下来需要检查涉及的数据类型是否一致。
这包括数据库表中定义的数据类型和操作语句中使用的数据类型。
比较常见的类型错误包括整数型与字符串型的混淆、日期与时间类型的不匹配等。
请确保在进行数据库操作时,将相同或兼容的数据类型用于连接和查询。
第四步:检查驱动程序和版本接下来,需要检查所使用的数据库驱动程序的版本是否与您的应用程序兼容。
有时候,错误类型不匹配的问题可能是由于旧版本的驱动程序不支持某些数据类型导致的。
在这种情况下,您可以尝试升级驱动程序或使用其他版本。
第五步:注意字符集的兼容性字符集的不兼容性也可能导致数据类型不匹配的错误。
在使用OLE DB或ODBC接口操作多种语言的数据库时,需要确保字符集的一致性。
power bi ole db or odbc error 类型不匹配
power bi ole db or odbc error 类型不匹配
"类型不匹配" 错误通常发生在Power BI 中使用OLE DB 或ODBC 连接到数据源时,表示所选的数据类型与实际数据源中的数据类型不匹配。
这可能会导致数据加载或查询时出现问题。
要解决这个问题,你可以尝试以下几种方法:
1. 检查数据类型匹配:确保你在Power BI 中选择的数据类型与实际数据源中的数据类型匹配。
有时候,数据源中的数据类型可能与Power BI 中的默认数据类型不同,需要手动调整数据类型匹配。
2. 数据预处理:在Power BI 中进行数据预处理,将数据类型转换为匹配的类型。
你可以使用Power Query Editor 对数据进行转换和筛选,以确保数据类型匹配。
3. 检查数据源设置:确保你在OLE DB 或ODBC 连接中正确配置了数据源的数据类型和格式。
有时候,数据源的配置可能会影响数据类型的匹配。
4. 更新驱动程序:如果你使用的是ODBC 连接,可以尝试更新ODBC 驱动程序到最新版本,以确保与数据源的兼容性。
如果你能提供更多关于你的数据源和具体错误的信息,我可以给出更具体的帮助和建议。
达梦 odbc function sequence error -回复
达梦odbc function sequence error -回复达梦ODBC功能顺序错误(Function Sequence Error)是一个常见的错误消息,它通常出现在使用达梦数据库的ODBC(开放数据库连接)功能进行数据访问时。
本文将探讨Function Sequence Error的含义、可能的原因以及解决方法,以帮助读者解决这个问题并顺利进行数据库操作。
首先,让我们来了解一下Function Sequence Error的含义。
当我们使用ODBC功能与数据库进行交互时,我们需要按照特定的顺序调用相应的函数来执行各种操作,例如连接数据库、执行查询、读取结果等。
如果我们在调用函数的顺序上出现错误,就会导致Function Sequence Error的出现。
这个错误表示我们在某个阶段调用了不正确的函数或者函数的调用顺序不正确,从而导致了功能无法正常执行。
接下来,让我们讨论一下可能导致Function Sequence Error出现的原因。
首先,可能是由于我们在调用ODBC函数时将它们的顺序弄混了,例如先尝试读取结果而没有先执行查询操作。
其次,这个错误可能是由于某个函数的调用条件未满足所致,例如在没有成功连接数据库的情况下尝试执行查询。
此外,不同的数据库驱动程序对函数的顺序要求也可能有所不同,因此我们使用的ODBC驱动程序可能对调用函数的顺序有特定的要求。
现在,让我们来看看如何解决Function Sequence Error。
首先,我们需要仔细检查代码,确保我们按照正确的顺序调用函数。
例如,在执行查询之前,我们应该首先连接数据库。
其次,我们需要确保满足函数的调用条件。
例如,在执行查询之前,我们应该先确保数据库连接成功。
此外,我们还应该参考数据库驱动程序的文档,了解它对函数调用顺序的具体要求,并根据需要进行相应的调整。
如果以上方法仍然无法解决问题,我们可以尝试升级或更换ODBC驱动程序版本。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤:
一看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。
如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
二在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202.114.100.100 1433
通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。
如果有问题,通常这一步会出问题。
通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1 检查远程服务器是否启动了sql server 2000服务。
如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3 检查服务器的tcp/ip端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。
如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。
4 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
5 检查服务器是否在1433端口侦听。
如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。
检查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似tcp 127.0.0.1 1433 listening 的项。
如果没有,则通常需要给sql server 2000打上至少sp3的补丁。
其实在服务器端启动查询分析器,输入select @@version 执行后可以看到版本号,版本号在
8.0.2039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。
恭喜你,你马上可以开始在企业管理器或查询分析器连接了。
三检查客户端设置
程序->Microsoft SQL Server -> 客户端网络使用工具。
像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。
四在企业管理器里或查询那分析器连接测试
企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。
修改默认连接超时的方法:
企业管理器->工具->选项->在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在登录超时(秒)后面的框里输入一个较大的数字
查询分析器->工具->选项->连接->在登录超时(秒)后面的框里输入一个较大的数字
通常就可以连通了,如果提示错误,则进入下一步。
五错误产生的原因通常是由于SQL Server使用了"仅Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如sa )进行连接。
解决方法如下所示:
1 在服务器端使用企业管理器,并且选择"使用Windows 身份验证"连接上SQL Server。
2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。
3 在"身份验证"下,选择"SQL Server和Windows "。
4 重新启动SQL Server服务。
(在dos或命令行下面net stop mssqlserver停止服务,net start mssqlserver启动服务,也是一种快捷的方法)。
附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议)
1.打补丁(下载补丁后要安装)
2。
看这样可以不:TCP/IP协议-->属性-->高级-->选项-->TCP/IP筛选-->属性-->在TCP 端口设置14331。
打补丁(下载补丁后要安装)
2。
看这样可以不:TCP/IP协议-->属性-->高级-->选项-->TCP/IP筛选-->属性-->在TCP 端口设置1433
Telnet的问题,常会涉及到一些端口的应用。
我们也曾经探讨过一些其他端口,例如23,25端口的问题。
那么今天主要讲解一下Telnet 1433端口的问题。
看看如何解决Telnet 1433端口打不开的问题。
1、数据库服务未启动.
2、防火墙屏蔽了对telnet的响应.
3、SQL服务未在1433端口上启动监听.
如果你用查询分析器可以连接上,应用软件也连得上,只是Telnet 1433端口失败;并且也未改动过服务端口,其它都是正常的,那么这种问题在XP2+SQL SERVER 2000环境中最常见.解决办法几种:
1、反安装XP2的补丁,这样通常是不会出现SQL SERVER连不上的问题的.
2、XP2的操作系统安装SQL SERVER 2000的SP3补丁可解决Telnet 1433端口无法打开的问题.
3、其它操作系统比如2003的,最好补一下SQL SP4的.
检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行: select @@version
如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上.
SQL补丁下载:
全部补丁的位置
/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446 -99A9-B7F0213F8BC5&displaylang=zh-cn
应该安装的是
/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9 cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE
注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问
如何检查Telnet 1433端口是否在监听?或者检查有哪些端口在监听?
1、如果打了sql sp3,并且windows2003防火墙已经关闭, 在命令提示符下执行
netstat -na 应该可以看到tcp 1433在监听.
2、启动企业管理器查看SQL SERVER 2000 的系统日志,在日志中可以看到SQL SERVER 启动的是那些协议来等待远程连接的.
另外记得打完补丁,重新启动机器,或者重新启动服务.
原文:/whsjsoft/blog/item/66d5fb50eebce6581038c289.html。