关于连接SQL数据库的问题~~

【后退】
楼主     发布时间:2004-5-1 19:24:06  点击:78次

作者:任坤
发表: 123篇
回复: 968篇
QQ: 
    关于连接SQL数据库的问题~~

一直使用ACCESS,没玩过SQL,现在想连上去,就拿出了书找到了75页的连接代码,仿照写了,可是连不上哦。我的计算机名是kkyy,建了个数据库名kkyy,操作者用户和密码也都是kkyy,代码如下:
<% dim conn
set conn=server.createobject("ADODB.connection")
conn.open "DataBase=kkyy;uid=kkyy;pwd=kkyy;Driver={sql server}"
%>
错误如下;[Microsoft][ODBC SQL Server Driver]没有提供任何 DSN 或 服务器关键字 。

大家快教我连接SQL啊,到现在我都没连过,大家别笑我哦
很多事情想着很简单,做的时候就不是想象的那样简单了,有的东西你不去动它永远也不会!!~`

第1楼     发布时间:2004-5-1 19:37:23  点击:1次

作者:任坤
发表: 123篇
回复: 968篇
QQ: 
    问题解决~

在网上搜索了一下~加了一句server=kkyy就OK了!·!!~~

第2楼     发布时间:2004-5-1 19:39:07  点击:1次

作者:任坤
发表: 123篇
回复: 968篇
QQ: 
    教材上没有

老师的教材上可少了这句最关键的哦~~~

第3楼     发布时间:2004-5-1 20:34:33  点击:12次

作者:jjshang
发表: 211篇
回复: 14973篇
QQ: 
    re:关于连接SQL数据库的问题~~

任坤,非常感谢你帮我发现这个问题,ASP第1版确实忘了加上了,在第2版中已经加上了。下面是第2版中相应的内容。

(1)创建没有ODBC数据源的连接
这种方法是基于ODBC的连接方法。没有设置数据源:
<%
Dim db 
Set db=Server.CreateObject(" ADODB.Connection") 
db.Open "Database=sqltest;Uid=jjshang;Pwd=12345;Driver={SQL Server}; Server=localhost"
%>

其中Server=localhost表示是程序所在服务器上的SQL数据库,也可以省略。其实,也可以使用其他服务器上的SQL数据库,只要将Server替换该服务器的IP地址即可。事实上,很多大的程序就是这样做的,它有专门的数据库服务器。

(2)创建有ODBC数据源的连接
如果设置了数据源test,连接方法如下:
<%
Dim db 
Set db=Server.CreateObject("ADODB.Connection") 
db.Open "Dsn=test;Uid=jjshang;Pwd=12345"         
%>
同连接Access数据库一样,可以省略参数,写为:
<%
Dim db 
Set db=Server.CreateObject("ADODB.Connection") 
db.Open "test", "jjshang", "12345"  
%>
这应该算做最常用的SQL数据库连接方法,用的是数据源。这里没有用Server=localhost,因为对于数据源来说,用哪一个服务器上的SQL数据库可以在设置数据源时选择。
(3)创建基于OLE DB的连接
SQL数据库也可以使用SQL Server的OLE DB提供程序连接,例子如下:
<%
Dim db 
Set db=Server.CreateObject("ADODB.Connection") 
db.Open "Provider=SQLOLEDB;Database=sqltest;Uid=jjshang;Pwd=12345; Server =localhost" 
%>
这里的Server=localhost和第一种方法的意义是一样的,也可以省略。

第4楼     发布时间:2004-5-1 20:40:32  点击:11次

作者:jjshang
发表: 211篇
回复: 14973篇
QQ: 
    继续探讨SQL数据库连接

我当时反复测试过,可以使用Server=localhost或者Server=127.0.0.1或者server=服务器名称 连接本机数据库,如果要连接其它服务器上的数据库,需要使用Server=IP地址。如果是连接本机数据库,也可以省略该属性。

但是,现在你说如果省略该属性,就连不上本机数据库。那么请你试试如下情况:
(1)加上Server=localhost或者Server=127.0.0.1名字试试行不行?
(2)如果上面不行,你是否在IIS中配置了本机的IP地址?

希望能够深入探讨一下localhost的问题。

第5楼     发布时间:2004-5-2 10:16:12  点击:6次

作者:任坤
发表: 123篇
回复: 968篇
QQ: 
    我IIS中配置了IP~

我在IIS中配置了局域网IP,用加上Server=localhost或者Server=127.0.0.1名字都可以连上,在IIS中去掉IP,加上Server=localhost或者Server=127.0.0.1名字也一样可以连上~省略该属性则有无IP都错误!!

第6楼     发布时间:2004-5-2 10:58:43  点击:1次

作者:jjshang
发表: 211篇
回复: 14973篇
QQ: 
    你的意思就是不能省略

非常感谢,看来这个属性可能又不一定能省略,哎,我发现微软的系统兼容性真成问题,原来我测试过了,确实可以省略,而现在居然不能省略。
非常感谢你!

第7楼     发布时间:2004-5-2 11:02:05  点击:9次

作者:jjshang
发表: 211篇
回复: 14973篇
QQ: 
    再帮我测试一下

再帮我测试一下下面的连接方法行不行?出错不出错?
第1种方法
<%
    Dim db 
    Set db=Server.CreateObject("ADODB.Connection") 
    db.Open "Provider=SQLOLEDB;Database=sqltest;Uid=jjshang;Pwd=12345; Server =localhost" 
    %>
第2种方法
<%
    Dim db 
    Set db=Server.CreateObject("ADODB.Connection") 
    db.Open "Provider=SQLOLEDB;initial Catalog=sqltest;Uid=jjshang;Pwd=12345;Data Source=localhost" 
    %>


第8楼     发布时间:2004-5-2 11:41:27  点击:5次

作者:jjshang
发表: 211篇
回复: 14973篇
QQ: 
    re:再帮我测试一下

第3种方法
<%
        Dim db 
        Set db=Server.CreateObject("ADODB.Connection") 
        db.Open "Provider=SQLOLEDB;initial Catalog=sqltest;Userid=jjshang;Password=12345;Data Source=localhost" 
        %>

第9楼     发布时间:2004-5-2 11:54:28  点击:4次

作者:任坤
发表: 123篇
回复: 968篇
QQ: 
    测试结果!~~~

前两种方法通过,第三种方法不行~~
代码:<% dim conn
set conn=server.createobject("ADODB.connection")
conn.open "Provider=SQLOLEDB;initial Catalog=kkyy;Userid=kkyy;Password=kkyy;Data Source=localhost"
response.write"连接成功"
%>
错误:
Microsoft OLE DB Provider for SQL Server 错误 '80040e4d' 

连接字符串属性无效 

/SQL.ASP,行12 

第10楼     发布时间:2004-5-2 13:28:05  点击:1次

作者:jjshang
发表: 211篇
回复: 14973篇
QQ: 
    非常感谢!

第11楼     发布时间:2006-1-5 13:38:51  点击:次

作者:过客
    re:关于连接SQL数据库的问题~~

再请教各位:
如果在连接时使用混合身份登录,则可以正常连接数据库,但我用WINDOWS身份验证登录,则出错。请教各位如果用WINDOWS身份验证登录方式来连接数据库?谢谢

第12楼     发布时间:2006-1-6 15:32:46  点击:次

作者:过客
    re:关于连接SQL数据库的问题~~

这样写就好了:
Set myconn = Server.CreateObject("ADODB.Connection")
myconn.open "driver={sqlserver};server=主机名;uid=数据库用户名;pwd=如果是空就什么也不写;database=数据库名;"

【后退】

知行网 www.zhixing123.cn