צפיות
תשובות
השראות ב – SQL SERVER
שלום לכולם,
כאשר אני רוצה לשלוף נתונים מDB MSSQL
אני מקבל את השגיאה הבאה
סוג שגיאה:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'MOTYIUSR_MOTY'.
/ado/list3.asp, line 25
השאלה היא למה וכיצד ניתן לפתור זאת
הקוד שלי…:
<%@language="VBSCRIPT" CODEPAGE="1255"%>
<%
Dim Conn
Dim rs
Dim SQL
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={SQL Server};" & _
"Server=(local);" & _
"DataBase=testSQL"
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "Select * from jokes"
rs.Open SQL, Conn
If rs.EOF Then
Response.Write "<h3 align=""center"">אין רשומות במסד הנתונים!</h3>" & vbcrlf
Else
%>
<table dir="rtl" width="70%" align="center">
<tr>
<td width="5%"><b>#ID</b></td>
<td width="20%"><b>שם</b></td>
</tr>
<% Do while not rs.EOF %>
<tr>
<td width="5%"><%=rs.Fields("id")%></td>
<td width="20%"><%=rs.Fields("name")%></td>
</tr>
<%
rs.MoveNext
Loop
Response.Write "</table>" & vbcrlf
End If
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
ומוזר גם ככה לא עבד לי:
'Conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=testSQL;Data Source=(local)"
'Conn.Open "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=testSQL;User Id=moty; Password=123456; Auto Translate=FALSE"
6 תשובות
הממ…
ב sql login אפפעם לא היתה לי בעיה להתחבר לשרת sql (כלומר עם user וססמא). בדוק שהגדרת את ה user בשרת ה sql כמו שצריך, ושלא טעית באיות.
עם win othentication, לעומת זאת, בפעם היחידה שניסיתי להתחבר ל sql server, לא הצלחתי, ולא מצאתי לזה פתרון.
כיצד לבדוק זאת?
דרך ה em תכנס למסד הנתונים שלך.
תפתח את החלק של users, תבדוק שה user מוגדר, תבדוק שהססמא שמוגדרת שם היא אותה הססמא שאתה מנסה להשתמש בה ב ASP…
תבדוק הרשאות של ה user הזה.
איפה אני בודק את הUSER
כי שי לי USER ב – Security
ויש לי ב DB -> USERS
ה user של ה db.
נסה לבדוק את סוג האימות
ב sql server אפשר לבחור את סוג האימות, אימות של windows אימות של sql server (בעברית מדוברת זה שם משתמש וסיסמה) או שניהם ביחד (למיטב זכרוני שניהם ביחד זה ברירת המחדל).
אני לא זוכר בדיוק את הפרטים אבל ישנו מילכוד מסויים שאם הספריה בה יושב הקובץ שמנסה לגשת ל DB היא גישה חופשית (גם אם רק לקריאה) אז הוא עושה בעיות עם הזיהוי של windows בהתחברות ל DB.
אני פתרתי את הבעיה אצלי בזה ששיניתי את הזיהוי לזיהוי של SQL בלבד (ואז גם ;Integrated Security=SSPI צריך לרדת משורת ההתקשרות)
בהצלחה.