Friday, March 30, 2012
problem running MS SQL Web Data Admin
My client machine is XP Pro with SP1 with IIS 5.1 My server machine is
Windows 2000 server SP4 with IIS 5.0. Server has the latest MSDE 2000(SP3a,
in mixed mode) as well as MS SQL Web Data Admin (webadmin) installed on it.
I can use webadmin on the server to access data in MSDE using windows auth
as well as SQL login.
I then installed webadmin on the Client machine but can't get it to connect
to the MSDE on the server machine. I looked at KB article: 319930 and
ensured that test.udl on client XP machine can connect fine using TCP/IP and
sa userid to the MSDE on the server machine. But webadmin won't connect.
Here's the error message:
Server Error in '/webadmin' Application.
COM object with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} is either not
valid or not registered.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.Runtime.InteropServices.COMException: COM object
with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} is either not valid or not
registered.
Source Error:
An unhandled exception was generated during the execution of the current web
request. Information regarding the origin and location of the exception can
be identified using the exception stack trace below.
Stack Trace:
[COMException (0x80040154): COM object with CLSID
{10020200-E260-11CF-AE68-00AA004A34D5} is either not valid or not
registered.]
SqlAdmin.SqlServer.Connect()
SqlWebAdmin.databases.Page_Load(Object sender, EventArgs e) +28
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +731
Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET
Version:1.1.4322.573
Other ASP.NET starter kit apps (like Commerce and Portal) work fine from
Client machine using MSDE on the server. The problem seems to be with
webadmin. Any suggestions would be appreciated.
Vamsee Lakamsani
lakamsani AT gmail.com
The web data admin package needs a dll called SQLDMO.dll that is a com object that is only installed from the full version of SQL server, not with MSDE. That is the com object error message you are receiving.
"vl" wrote:
> Hi:
> My client machine is XP Pro with SP1 with IIS 5.1 My server machine is
> Windows 2000 server SP4 with IIS 5.0. Server has the latest MSDE 2000(SP3a,
> in mixed mode) as well as MS SQL Web Data Admin (webadmin) installed on it.
> I can use webadmin on the server to access data in MSDE using windows auth
> as well as SQL login.
> I then installed webadmin on the Client machine but can't get it to connect
> to the MSDE on the server machine. I looked at KB article: 319930 and
> ensured that test.udl on client XP machine can connect fine using TCP/IP and
> sa userid to the MSDE on the server machine. But webadmin won't connect.
> Here's the error message:
> --
> Server Error in '/webadmin' Application.
> ----
> --
> COM object with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} is either not
> valid or not registered.
> Description: An unhandled exception occurred during the execution of the
> current web request. Please review the stack trace for more information
> about the error and where it originated in the code.
> Exception Details: System.Runtime.InteropServices.COMException: COM object
> with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} is either not valid or not
> registered.
> Source Error:
> An unhandled exception was generated during the execution of the current web
> request. Information regarding the origin and location of the exception can
> be identified using the exception stack trace below.
> Stack Trace:
>
> [COMException (0x80040154): COM object with CLSID
> {10020200-E260-11CF-AE68-00AA004A34D5} is either not valid or not
> registered.]
> SqlAdmin.SqlServer.Connect()
> SqlWebAdmin.databases.Page_Load(Object sender, EventArgs e) +28
> System.Web.UI.Control.OnLoad(EventArgs e) +67
> System.Web.UI.Control.LoadRecursive() +35
> System.Web.UI.Page.ProcessRequestMain() +731
>
>
> ----
> --
> Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET
> Version:1.1.4322.573
> Other ASP.NET starter kit apps (like Commerce and Portal) work fine from
> Client machine using MSDE on the server. The problem seems to be with
> webadmin. Any suggestions would be appreciated.
> --
> Vamsee Lakamsani
> lakamsani AT gmail.com
>
>
Wednesday, March 28, 2012
Problem returning a datarow
I have a client/server app. that uses a windows service for the server and asp.net web pages for the client side. My server class has 3 methods that Fill, Add a new record and Update a record. The Fill and Add routines work as expected but unfortunately the update request falls at the 1st hurdle.
I pass two params to the remote(server) method for the update, one is the unique ID and the other is a string that is the name of the table in the database. See code below. I need the SelectedRow method to return a datarow that will then populate textbox's on another page. When the method is called I get an 'internal system error....please turn on custom errors in the web.config file on the server for more info.(unfortunately my server is not s web server so I don't have a web.config file!!).
Can anyone see anything obvious.
Cheers. >
Calling routine:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
System.Threading.Thread.CurrentThread.CurrentCultu re = New CultureInfo("en-GB")
hsc = CType(Activator.GetObject(GetType(IHelpSC), _
"tcp://192.168.2.3:1234/HelpSC"), IHelpSC)
Dim drEdit As DataRow
Dim intRow As Integer = CInt(Request.QueryString("item"))
strDiscipline = Request.QueryString("discipline")
drEdit = hsc.SelectedRow(intRow, strDiscipline) <<Call the remote method
strRecord = drEdit.Item(0)
txtLogged.Text = drEdit(1)
txtEngineer.Text = drEdit.Item(3)
End Sub
Remote Class Function:
Public Function SelectedRow(ByVal id As Integer, ByVal discipline As String) As System.Data.DataRow Implements IHelpSC.SelectedRow
strDiscipline = Trim(discipline)
Dim cmdSelect As SqlCommand = sqlcnn.CreateCommand
Dim drResult As DataRow
Dim strQuery As String = "SELECT * FROM " & strDiscipline & _
" WHERE CallID=" & id
cmdSelect.CommandType = CommandType.Text
cmdSelect.CommandText = strQuery
sqlda = New SqlDataAdapter
sqlda.SelectCommand = cmdSelect
ds = New DataSet
sqlda.Fill(ds, "Results")
drResult = ds.Tables(0).Rows(0)
Return drResult
End FunctionPhil (Phil@.nospam.com) writes:
> I have a client/server app. that uses a windows service for the server
> and asp.net web pages for the client side. My server class has 3 methods
> that Fill, Add a new record and Update a record. The Fill and Add
> routines work as expected but unfortunately the update request falls at
> the 1st hurdle.
> I pass two params to the remote(server) method for the update, one is
> the unique ID and the other is a string that is the name of the table in
> the database. See code below. I need the SelectedRow method to return a
> datarow that will then populate textbox's on another page. When the
> method is called I get an 'internal system error....please turn on
> custom errors in the web.config file on the server for more
> info.(unfortunately my server is not s web server so I don't have a
> web.config file!!).
I don't really have an idea, but the error message does not look
like it comes from SQL Server. Maybe you should try an ADO .Net group.
>Dim intRow As Integer = CInt(Request.QueryString("item"))
>strDiscipline = Request.QueryString("discipline")
>drEdit = hsc.SelectedRow(intRow, strDiscipline) <<Call the remote method
> Dim strQuery As String = "SELECT * FROM " & strDiscipline & _
> " WHERE CallID=" & id
I don't know what this Request.QueryString implies, but this is any
sorr of user input, you have a major hole here. What if the user
specifies a table that does not exist? What if he specifies
"tbl; DROP DATABASE important; --"? This is called SQL injection,
and is a popular way for intruders to get access to things they should
have access to.
I don't know why you pass the table name as a parameter, but it's
not likely to be good design. For the CallID you should in any case
use a parameter:
Dim strQuery As String = "SELECT * FROM " & strDiscipline & _
" WHERE CallID=@.id"
cmdSelect.AddParameter(@.id, SqlInt, Id)
(With all reservations for the exact syntax.) Parameterizing your
SQL statements protects you from SQL injection.
--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techin.../2000/books.asp|||Hi Erland,
Thanks for your response. Although we haven't found my problem I will just
comment on your response FWIW :_)
The QueryString property of the HTTPRequest class adds two, lets call them
parameters are passed from the calling page. These params are 'hard-coded'
items in a dropdownlist and selected row from a datagrid. So, I utterly
agree with your concerns regarding SQL injection but 'hopefully' in this
instance I'm ok...!!! The other two method calls to the database do in fact
use parameterised stored procedures (if that absolves me in any way :-).
My problem/puzzlement is that if I run the client app. with the data layer
class (with no changes, ie. still accesses the remote server), it works
perfectly. Just to clarify.....the class with the data layer (ie.
interfacing directly with the dB via direct sql calls or parameterised
stored procs) normally resides on the server and the client communicates
with this class using .NET remoting. Just to remember, I have 3 methods. The
Fill method is called when the client page is 1st loaded and populates a
datagrid...this works. I also have a button on the same page as the datagrid
that calls the AddNew method to add a new record to the db, this also works
fine. Finally, the datagrid has a button column that is for edit/update of
the selected record. This is where I receive the error BUT.........it
works if I 'move' the data layer class to the client side and call the
method ...GGGrrrr...it's very frustrating!!
Thanks for your help.
Phil
"Erland Sommarskog" <esquel@.sommarskog.se> wrote in message
news:Xns964E55D31DC2Yazorman@.127.0.0.1...
> Phil (Phil@.nospam.com) writes:
>> I have a client/server app. that uses a windows service for the server
>> and asp.net web pages for the client side. My server class has 3 methods
>> that Fill, Add a new record and Update a record. The Fill and Add
>> routines work as expected but unfortunately the update request falls at
>> the 1st hurdle.
>>
>> I pass two params to the remote(server) method for the update, one is
>> the unique ID and the other is a string that is the name of the table in
>> the database. See code below. I need the SelectedRow method to return a
>> datarow that will then populate textbox's on another page. When the
>> method is called I get an 'internal system error....please turn on
>> custom errors in the web.config file on the server for more
>> info.(unfortunately my server is not s web server so I don't have a
>> web.config file!!).
> I don't really have an idea, but the error message does not look
> like it comes from SQL Server. Maybe you should try an ADO .Net group.
>>Dim intRow As Integer = CInt(Request.QueryString("item"))
>>
>>strDiscipline = Request.QueryString("discipline")
>>drEdit = hsc.SelectedRow(intRow, strDiscipline) <<Call the remote method
>>
>> Dim strQuery As String = "SELECT * FROM " & strDiscipline & _
>> " WHERE CallID=" & id
> I don't know what this Request.QueryString implies, but this is any
> sorr of user input, you have a major hole here. What if the user
> specifies a table that does not exist? What if he specifies
> "tbl; DROP DATABASE important; --"? This is called SQL injection,
> and is a popular way for intruders to get access to things they should
> have access to.
> I don't know why you pass the table name as a parameter, but it's
> not likely to be good design. For the CallID you should in any case
> use a parameter:
> Dim strQuery As String = "SELECT * FROM " & strDiscipline & _
> " WHERE CallID=@.id"
> cmdSelect.AddParameter(@.id, SqlInt, Id)
> (With all reservations for the exact syntax.) Parameterizing your
> SQL statements protects you from SQL injection.
>
> --
> Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
> Books Online for SQL Server SP3 at
> http://www.microsoft.com/sql/techin.../2000/books.asp|||Phil (Phil@.nospam.com) writes:
> The QueryString property of the HTTPRequest class adds two, lets call
> them parameters are passed from the calling page. These params are
> 'hard-coded' items in a dropdownlist and selected row from a datagrid.
> So, I utterly agree with your concerns regarding SQL injection but
> 'hopefully' in this instance I'm ok...!!!
It it was a Windows Forms client, it would be safe I guess. But you
have a web client, right? Somehow the information on what the user
select must be passed over the network. The obvious case is when the
parameter appears in a URL. But anything which is over a network port
over which an intruder has full control of his end could be susceptible.
--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techin.../2000/books.asp
Wednesday, March 21, 2012
Problem opening UDF
Hey,
I am using SQL Server 2005 client tools on a 2000 server. Everything works fine except ................
WHen I try to open (Modify) a user defined function, an error msg appears saying "QuotedIdentifier property not available for the function"
Anyone having same problem and found solution?
This sounds like the following bug, which is scheduled to be fixed in Service Pack 1:http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=FDBK38845
Steve Kass
Drew University
|||Thanks a lot!
Monday, March 12, 2012
Problem migrating SQL Server 2000 database to 2005
Server. This application was written in VB so it has both windows client
interface and Web client interface. Due to the age of this server we
purchased a new server and installed windows server 2003 R2 SP1 and SQL
Server 2005 standard edition. To migrate the SQL Server 2000 database I
backed up the SQL 2000 server database and then restore it to the SQL 2005
server. I then run the sp_revlogin per the KB - I migrated the logins with
their SIDs and password. I tested it by login into management studio and
running queries in the database with the migrated logins. I then run update
statistics and DBCC updateusage.
However, when the users try to open the application they get the error
message that, " Login failed for AppUser" Appuser is the login that the
application used to authenticate to the database. I have tried the operation
allover again a few times to ensure that I did not miss anything in the
process. I even tried upgrade compatibility level to 9.0 but the same error
is still coming. I have also tried detach/reattach but I got the same error.
I tried the copy database wizard and got the same error.
Any assistance will be greatly appreciated.
Thanks!
ODOD wrote:
> I have an application that is running on Windows server 2003 and SQL 2000
> Server. This application was written in VB so it has both windows client
> interface and Web client interface. Due to the age of this server we
> purchased a new server and installed windows server 2003 R2 SP1 and SQL
> Server 2005 standard edition. To migrate the SQL Server 2000 database I
> backed up the SQL 2000 server database and then restore it to the SQL 2005
> server. I then run the sp_revlogin per the KB - I migrated the logins with
> their SIDs and password. I tested it by login into management studio and
> running queries in the database with the migrated logins. I then run update
> statistics and DBCC updateusage.
> However, when the users try to open the application they get the error
> message that, " Login failed for AppUser" Appuser is the login that the
> application used to authenticate to the database. I have tried the operation
> allover again a few times to ensure that I did not miss anything in the
> process. I even tried upgrade compatibility level to 9.0 but the same error
> is still coming. I have also tried detach/reattach but I got the same error.
> I tried the copy database wizard and got the same error.
> Any assistance will be greatly appreciated.
> Thanks!
> OD
>
Did you try connecting via Management Studio using this "AppUser" login?
Verify remote connectivity to the server? Confirm that AppUser
exists, reset the password?
Tracy McKibben
MCDBA
http://www.realsqlguy.com|||Tracy:
I connected to the database via Management studio using the AppUser login
and password. AppUser exists on the database. Connectivity is good since the
server also host CRM and its database for our company. Any ideas?
OD
"Tracy McKibben" <tracy@.realsqlguy.com> wrote in message
news:45017AD2.8050402@.realsqlguy.com...
> OD wrote:
>> I have an application that is running on Windows server 2003 and SQL 2000
>> Server. This application was written in VB so it has both windows client
>> interface and Web client interface. Due to the age of this server we
>> purchased a new server and installed windows server 2003 R2 SP1 and SQL
>> Server 2005 standard edition. To migrate the SQL Server 2000 database I
>> backed up the SQL 2000 server database and then restore it to the SQL
>> 2005 server. I then run the sp_revlogin per the KB - I migrated the
>> logins with their SIDs and password. I tested it by login into management
>> studio and running queries in the database with the migrated logins. I
>> then run update statistics and DBCC updateusage.
>> However, when the users try to open the application they get the error
>> message that, " Login failed for AppUser" Appuser is the login that the
>> application used to authenticate to the database. I have tried the
>> operation allover again a few times to ensure that I did not miss
>> anything in the process. I even tried upgrade compatibility level to 9.0
>> but the same error is still coming. I have also tried detach/reattach but
>> I got the same error. I tried the copy database wizard and got the same
>> error.
>> Any assistance will be greatly appreciated.
>> Thanks!
>> OD
> Did you try connecting via Management Studio using this "AppUser" login?
> Verify remote connectivity to the server? Confirm that AppUser exists,
> reset the password?
>
> --
> Tracy McKibben
> MCDBA
> http://www.realsqlguy.com|||OD wrote:
> Tracy:
> I connected to the database via Management studio using the AppUser login
> and password. AppUser exists on the database. Connectivity is good since the
> server also host CRM and its database for our company. Any ideas?
>
Verify that the connection string or ODBC connection that the app uses
is configured properly. If you can connect as AppUser from Management
Studio, then the problem is not on the database side.
Tracy McKibben
MCDBA
http://www.realsqlguy.com|||Tracy:
That is correct. The problem was in the application. The developer gave me
the correct password that was hard coded in the application and it works.
Thanks!
OD
"Tracy McKibben" <tracy@.realsqlguy.com> wrote in message
news:450182C2.2070001@.realsqlguy.com...
> OD wrote:
>> Tracy:
>> I connected to the database via Management studio using the AppUser login
>> and password. AppUser exists on the database. Connectivity is good since
>> the server also host CRM and its database for our company. Any ideas?
> Verify that the connection string or ODBC connection that the app uses is
> configured properly. If you can connect as AppUser from Management
> Studio, then the problem is not on the database side.
>
> --
> Tracy McKibben
> MCDBA
> http://www.realsqlguy.com
Wednesday, March 7, 2012
Problem installing SSQL Server 2000 client tools
I'm trying to re-install SQL Server 2000 Desktop Engine and
SQL Server client tools. I have succesfully re-installed the desktop engine,
but I am getting the following error message when attempting to re-install the
client tools.
"Setup has detected an existing client tools only installation.
Please use the maintenance mode to add client components"
Unfortunately the Upgrade/Add/Remove option is greyed out as
an install option.
I attempted the registry hive rebuild option and the install appeared
to succeed. However, I cannot access any tools (Enterprise Manager
comes up with the message "The selected file cannot be found").
At this point, the desktop engine appears in Add/Remove programs
Window, but no other SQL Server components.
Any help very much appreciated!
Eric Yeoman.
Eventually solved the problem by manually uninstalling SQL Server;
http://support.microsoft.com/kb/290991/#4
Monday, February 20, 2012
Problem inserting into DB2 from SQL Server via Linked Server
I have data in SQL Server that needs to be inserted into DB2. I have
installed the IBM DB2 Client Configuration Assistant on the SQL Server and
created a DSN. I can use the IBM Command Center to execute commands (both
reads and writes) successfully. I then created a Linked Server on SQL
Server that uses the Microsoft OLE DB provider for ODBC Connections in order
to connect to DB2. Using this method, I can run SELECT statements
successfully. When I try to do any writes (a DELETE for example), I get
this error message:
OLE DB provider 'MSDASQL' could not delete from table '"HCEDB"."APPLQUE2"'.
User did not have sufficient permission to delete the row.
[OLE/DB provider returned message: Multiple-step OLE DB operation generated
errors. Check each OLE DB status value, if available. No work was done.]
[OLE/DB provider returned message: [IBM][CLI Driver] CLI0150E Driver not
capable. SQLSTATE=S1C00]
OLE DB error trace [OLE/DB Provider 'MSDASQL' IRowsetChange::DeleteRows
returned 0x80040e21: DBROWSTATUS_E_PERMISSIONDENIED].
I verified that the user on DB2 has appropriate permissions and have on the
Security tab of the linked server properties page specified that user with
its password. Personally, I think that the whole SQL Server-->OLE
DB-->ODBC-->DB2 route is kinda obtuse. I would love to get rid of ODBC
alltogether. Unfortunately, the Microsoft OLE DB Provider for DB2 only
comes with their Host Integration Server product (which we don't have and
wouldn't be able to install on the SQL Server anyway) and I don't have the
equivalent IBM OLE DB driver...
Any recommendations or suggestions on how I can get the writes working?
Thanks..
Peace,
Gary Hampson
SQL Server - Siebel DBA
Application Development Group - IS
Horizon Blue Cross Blue Shield of New Jersey"Driver not capable" sounds like whatever driver you are using doesn't meet
the minimum capabilities required for the type of operation you are
performing. Drivers will often be queried for standards compliance and this
is the type of error that's reported when the driver does not report that
it supports one or more requested standards.
Do you have the latest version of all drivers involved on both the SQL
Server machine and the DB2 side? Do you have the latest SQL Server service
pack and security rollup (SP3 + MS03-031)?
Cindy Gross, MCDBA, MCSE
http://cindygross.tripod.com
This posting is provided "AS IS" with no warranties, and confers no rights.