DELPHI+MSSQL数据库编写进销存软件开发之研究
DELPHI+MSSQL数据库编写进销存软件开发之研究
问题如下:
1)用MSSQL2008完整版本时,数据库连接字符串如下:
Provider=SQLOLEDB.1;Password=a12345;Persist Security Info=True;User ID=sa;Initial Catalog=JC20111215;Data Source=127.0.0.1
最后的这个Data Source用IP:127.0.0.1或者用“电脑名称”测试都是正确的,电脑名称测试如下:
Provider=SQLOLEDB.1;Password=a12345;Persist Security Info=True;User ID=sa;Initial Catalog=JC20111215;Data Source=Tsserver
2)用MSSQL2005精简SQLEXPRESS版本时,只能将数据库连接字符串写成如下:
Provider=SQLOLEDB.1;Password=a12345;Persist Security Info=True;User ID=sa;Initial Catalog=JC20111215;Data Source=Tsserver\SQLEXPRESS
我现在要问的问题是:
为什么不能用IP的方式,书写字符串呀???
[最优解释]
要开启协议和查看数据库的监听端口,打开sql的配置管理器工具,可以查看到
1、查看数据库使用的端口
打开sql的配置管理器工具->sqlexpress协议->TCP/IP
2、开启TCP/IP协议
打开sql的配置管理器工具->sqlexpress协议->右键TCP/IP->启用
3、重启sql服务
4、确认数据库的监听端口起来
netstat -ano,看看里面的状态为LISTENING的项里面有没有数据库的端口
5、连接字符串的DataSource内容为(IP,端口)
例:192.168.1.11,3171
[其他解释]
我现在要问的问题是:
为什么不能用IP的方式,书写字符串呀???
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
因为SQLEXPRESS默认是禁止TCP/IP协议通讯的,所以不能通过IP方式访问,netstat -ano看看,没有看到监听端口。
想要IP方式访问,就开启TCP/IP协议
要开启协议和监听查看端口,打开sql的配置管理器工具,可以看到
[其他解释]
来晚了
[其他解释]
鸟哥,给分 我是没风
[其他解释]
Provider=SQLOLEDB.1;Password=a12345;Persist Security Info=True;User ID=sa;Initial Catalog=JC20111215;Data Source=IP地址\SQLEXPRESS
[其他解释]
Source=?
数据库别名,SQL客户端管理工具可以把IP和名称对应起来,这样就可以用固定的别名来访问指定的IP了,而不管机器名称,当然,如果同一电脑有几个版本的SQL那情况就不一样了。
[其他解释]
Data Source=Tsserver\SQLEXPRESS
是因为sqlexpress的实例没有使用缺省实例名,如果是缺省实例名,则只要Data Source=Tsserver
[其他解释]
好久没来D版了....
[其他解释]
这个问题我也遇到过,12楼正解
[其他解释]
补充一点,访问本机为什么不用 localhost呢?而要用机器名称呢?
[其他解释]
这都讨论了好几个月了
[其他解释]
如果在不知情的情况下将“电脑名”修改成其它的后,那个MSSQL2008的以127.0.0.1
方式连接数据库的本机程序运行时是没有任何问题的,
但是问题出现在这个MSSQL2005的精简SQLEXPRESS版本上了,就是必须重启修改那个“连接字符串”
了,如何才能在使用MSSQL2005的精简SQLEXPRESS版本时,即使修改了“电脑名”,程序中不修改
“连接字符串”也能正常使用呀???
[其他解释]
不好意思,忘记了这个
用MSSQL2005精简SQLEXPRESS版本安装在WIN7的系统上时,只能将数据库连接字符串写成如下:
Provider=SQLOLEDB.1;Password=a12345;Persist Security Info=True;User ID=sa;Initial Catalog=JC20111215;Data Source=Tsserver\SQLEXPRESS
在网上查找了一下,根本不像XP那样有个127.0.0.1的本机IP
WIN7就没有这个
[其他解释]
WIN7环境下测试用这个
MSSQL2005精简SQLEXPRESS版本安装在WIN7的系统上
Provider=SQLOLEDB.1;Password=a12345;Persist Security Info=True;User ID=sa;Initial Catalog=JC20111215;Data Source=localhost\SQLEXPRESS
测试成功,谢谢kiboisme赐教
再问一下
用MSSQL2008完整版本安装在WINXPSP3,数据库连接字符串如下:
Provider=SQLOLEDB.1;Password=a12345;Persist Security Info=True;User ID=sa;Initial Catalog=JC20111215;Data Source=localhost
写在这个样子也是对的吧
[其他解释]
TCP 127.0.0.1:1780 127.0.0.1:1433 ESTABLISHED 3712
TCP 127.0.0.1:1781 127.0.0.1:1433 ESTABLISHED 3712
TCP 192.168.0.104:139 0.0.0.0:0 LISTENING 4
TCP 192.168.0.104:1982 117.79.157.232:80 ESTABLISHED 1896
TCP 192.168.0.104:2018 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2019 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2020 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2021 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2022 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2023 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2024 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2025 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2026 203.208.46.249:80 ESTABLISHED 2064
TCP 192.168.0.104:2028 117.79.157.232:80 CLOSE_WAIT 1896
TCP [::]:135 [::]:0 LISTENING 836
TCP [::]:445 [::]:0 LISTENING 4
TCP [::]:1025 [::]:0 LISTENING 500
TCP [::]:1026 [::]:0 LISTENING 916
TCP [::]:1027 [::]:0 LISTENING 1028
TCP [::]:1028 [::]:0 LISTENING 556
TCP [::]:1029 [::]:0 LISTENING 608
TCP [::]:1433 [::]:0 LISTENING 3944
TCP [::]:2912 [::]:0 LISTENING 3944
UDP 0.0.0.0:500 *:* 1028
UDP 0.0.0.0:3600 *:* 860
UDP 0.0.0.0:4500 *:* 1028
UDP 0.0.0.0:5355 *:* 1280
UDP 0.0.0.0:60744 *:* 3496
UDP 0.0.0.0:62589 *:* 860
UDP 127.0.0.1:49508 *:* 656
UDP 127.0.0.1:49713 *:* 1896
UDP 127.0.0.1:49743 *:* 2064
UDP 127.0.0.1:52900 *:* 3248
UDP 127.0.0.1:55357 *:* 2152
UDP 127.0.0.1:61344 *:* 3496
UDP 127.0.0.1:63319 *:* 860
UDP 192.168.0.104:137 *:* 4
UDP 192.168.0.104:138 *:* 4
UDP [::]:500 *:* 1028
UDP [::]:4500 *:* 1028
UDP [::]:5355 *:* 1280
UDP [fe80::4e0:82cc:cedf:992d%13]:546 *:* 916
你看看吧,我也不确定
[其他解释]
这些参数我是在WIN7+MSSQL2005SQLEXPRESS的环境下,
测试出来的
[其他解释]
怎么个情况呀???
还请赐教
[其他解释]
我查看了,前4步都设置好了
但是第5步有问题呀
端口号不是1433吗
[其他解释]
我查看了,前4步都设置好了
但是第5步有问题呀
端口号不是1433吗
[其他解释]
gxgyj
(杰克逊)
谢谢赐教,问题已解决
------其他解决方案--------------------
好消息了,我又被“黑”了呀
MSSQL2008用的端口号是:1433,
我现在已修改了
[其他解释]