Merhabalar, internette bedava dağıtılan ASP STAR RATING v0.2 scriptini sitemde kullanmaya karar verdim ve sqle geçirip kullanmak istedim. SQL'de mdbdeki gibi tabloları yarattım herşeyi ayarladım. Hatta deneme yapmak üzere insert into komutlarıyla basit bir query yazdım ve düzgün çalıştığını gördüm.
Ancak gelin görün ki ASP rating scriptte akıl almaz bir hata veriyor. Burada da bir update satırına gelince çıldırıyor ve hata veriyor.
[Microsoft][ODBC SQL server Driver][Shared Memory]SQL server does not exist or access denied.
/test/rating/common.ASP, line 131
Daha önce basit bir queryle databasenin update yapılmadığını bilmesem diyeceğim ki tamam bir hata var databaseyle ilgili. Ancak bu kodlar ne yaptıysam ne ettiysem bir türlü çalışmadı. Database bağlantısının yanlış yapılma gibi bir durumu es geçtiğim düşünülemez tabi. Basit olasılıkları geçtim.
Kodlar şöyle (ilgili alanı veriyorum):
------------------------------------------------
Sub UpdateRating(iRating, m_sURL)
'--- Open URL table
RatingConnOpen
Set rsRating = server.CreateObject("ADODB.Recordset")
rsRating.LockType = 2 'adLockPessimistic
rsRating.ActiveConnection = oRatingConn
rsRating.Source = "select ID, URL from rating_urls where URL='" & m_sURL & "'"
rsRating.Open
'--- Add URL if required
if rsRating.EOF then
rsRating.AddNew
rsRating("URL") = m_sURL
rsRating.update
end if
'--- Get URL ID
iURLID = rsRating("ID")
rsRating.Close
Set rsRating = Nothing
'--- Add rating
Set rsRating = oRatingConn.Execute("select URLID from rating_votes where URLID=" & iURLID & " and UserIP='" & GetUserIP & "'")
if rsRating.EOF then
if not WithinBlockedRange(sBannedIPRanges, GetUserIP) and not BlockedUserAgent(sBlockedUserAgents) and not BlockedUserAgentString(sBlockedUAStrings) then oRatingConn.Execute("insert into rating_votes (URLID, Rating, UserIP) values (" & iURLID & ", " & iRating & ", '" & GetUserIP & "')")
bSuccess = true
else
bSuccess = false
end if
Set rsRating = Nothing
RatingConnClose
'--- Display if vote is unsuccessful (JavaScript only)
if WithinBlockedRange(sBannedIPRanges, GetUserIP) then response.write "<p class=""starlight"">Blocked IP Address</p>"
if BlockedUserAgent(sBlockedUserAgents) then response.write "<p class=""starlight"">Blocked User Agent</p>"
if BlockedUserAgentString(sBlockedUAStrings) then response.write "<p class=""starlight"">Blocked User Agent String</p>"
End Sub
-------------------------------
LINE 131 : rsRating.update ' dir.
Yardımlarınız için şimdiden binlerce teşekkür. Bir gündür çözemedim şu illet şeyi.
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
Selamlar,
O satıra gelene kadar birçok bağlantı olduğunu söyleyebilirim, select gibi SQL komutları da var hatta. Bunlar düzgün çalışıyor, ancak bu update komutuna gelince çalışmıyor.
Basit bir queryle insert denemesi yaptım boş bir sayfada ve düzgün çalıştığını gördüm.
Acaba mdb - SQL farklılığından ötürü bir kod çakışması mı oluyor acaba ? Anlam veremedim bir türlü.
Database yolunda sorun bulunmamaktadır.
çok anlamamakla beraber;
kısmı her hata ile çıkan bir şey mi?...[Shared Memory]....
include edilen dosyaları kontrol edin, RatingConnOpen yordamını inceleyin, oRatingConn nesnesine atanmış connection string ile ilgili sorun olabilir.
bunun yanında yazarken aklıma geldi. select edip update edememesi yetki ile çok alakalı olmayabilir (default değerler değiştirilmediyse). daha çok, rating_urls tablosunu oluştururken, access't olup ta SQL server'da primary key (muhtemelen ID alanı) oluşturmamış olabilirsiniz. bu şekilde diğer tablolarınızı da kontrol etmenizi tavsiye ederim.
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney
http://www.sipidik.com
Öncelikle mesajlarınız için teşekkürler.
Connectionstringlerde access kullanırken sorun olmamasına karşın SQL'de sorun olduğunu gördüm. Bir şekilde o satıra ulaşmayan connection stringi tespit ettim.
SQL'de primary key'leri de vermiştim zamanında, hatta çıldırma noktasına gelip, GRANT komutları falan denedim izinlerle alakalı problem var, çalışsın diye
Teşekkürler arkadaşlar..