我在我的iPhone应用程序上使用sqlite数据库
我需要从我的服务器从互联网更新这个数据库
我如何下载新数据库并删除旧数据库
并将新数据库重新复制到文档目录
我有这个代码:
try
{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:jtds:sqlserver://myMachine:1433/myDB;instance=sql2008;user=myUserName;password=myPassword;"
);
System.out.println("connected");
}
catch (Exception e)
{
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的例外:
Unable to get information from SQL Server: myMachine.
at net.sourceforge.jtds.jdbc.MSSqlServerInfo.<init>(MSSqlServerInfo.java:97)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:276)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at Library.MusicItem.Save(MusicItem.java:22)
at AddMusicForm.jButton1ActionPerformed(AddMusicForm.java:86)
at AddMusicForm.access$000(AddMusicForm.java:17)
at AddMusicForm$1.actionPerformed(AddMusicForm.java:45)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at …Run Code Online (Sandbox Code Playgroud) 我知道有一个类system.data.sqlclient.sqlcommand可以一次执行批处理.由于我有很多SQL Server脚本(其中有一些GO关键字),我需要找到一种方法可以将此脚本抛给SQL Server执行.这该怎么做 ?谢谢.
编辑:
嗨恩里科,感谢您提供的信息.executiontenonquery方法将返回int []类型.如何获得所有文本结果?例如,我有一个名为sql.sql的 SQL脚本.
PRINT 'blah blah blah';
GO
SELECT @@SERVERNAME AS instance;
Run Code Online (Sandbox Code Playgroud)
当我使用sqlcmd执行它时,我得到以下结果.
C:\TEMP>sqlcmd -S (local)\instance1 -U a -P a -i sql.sql
blah blah blah
instance
-------------------------------------------------------------------
THESIMPSONS\INSTANCE1
(1 rows affected)
C:\TEMP>
Run Code Online (Sandbox Code Playgroud)
如何使用SMO或ADO.NET类获得类似的结果?谢谢.
我在ASP.NET中做一个项目.
我想知道在Web应用程序中从一个页面跳到另一个页面时,连接是否会自动关闭.
或者会显示错误MAX POOL SIZE WAS REACHED?
在我的Dao类中,为了关闭数据库资源,我编写了一个小函数,它接受ResultSet,Connection和Statement对象并关闭它.
我从我拥有的每个数据库访问方法的finally块中调用它.但是Sonar将这些视为违规行为:
Ensure that resources like this Statement object are closed after use
Run Code Online (Sandbox Code Playgroud)
有没有办法让Sonar知道这些是否得到处理?
使用的档案是'Sonar Way'
我是C-Sharp的新手,我正在尝试从C-Sharp访问我的数据库,我编写了以下代码,我不知道在查看数据旁边写什么.我在网上搜索了这个,但没有得到太多.请在简单的代码中告诉我这一点.
string connection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Database3.accdb";
OleDbConnection conn = new OleDbConnection(connection);
conn.Open();
OleDbCommand cmd = new OleDbCommand("Select * from score", conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
da.SelectCommand = cmd;
Run Code Online (Sandbox Code Playgroud) 为什么我更喜欢使用连接池而不是来自Tomcat中静态类的静态变量来保持数据库连接?
在我看来,这等效于使用仅能够存储一个连接的连接池。因此,一个相关的问题是:为什么一个连接池的容量需要大于一个连接?
提前致谢。
如何将我的数据库类函数连接到另一个脚本?我需要在不更改连接文件的每个文件的情况下完成它.
这是我的配置文件(conn.php):
define('DB_HOST', "localhost");
define('DB_TYPE', "mysql");
define('DB_USER', "user");
define('DB_PASS', "123456");
define('DB_NAME', "dbuser");
Run Code Online (Sandbox Code Playgroud)
这是我需要更改为DEFINE连接的配置:
include_once('../conn.php'); # is the file with the connection
$config = array();
$config['database']['host'] = 'localhost'; # I tried with .DB_HOST.
$config['database']['user'] = ''; # I tried with .DB_TYPE.
$config['database']['password'] = '';
$config['database']['database'] = '';
Run Code Online (Sandbox Code Playgroud) 我有一个Azure SQL数据库和一些使用它的C#业务应用程序.我一直在努力减少攻击面并更好地理解性能.
在SQL Azure包含的数据库中,我有:
1)一个SQL身份验证用户,其登录名为"ReaderUser",具有固定的长而疯狂的密码.
2)在数据库中创建的用户无需登录使用:CREATE USER [] WITHOUT LOGIN
3)包含数据的表,由USER和行级别安全保护.ReaderUser无法访问任何数据,它只是一个"代理"用户.
4)ReaderUser可以模拟任何其他非管理用户("无需登录"创建的品种).数据只能由它们中的任何一个读取.
当用户访问我们开发的应用程序时,数据库连接是使用ReaderUser进行的.应用程序使用.Net 4.6.2 ADO.net连接.连接字符串已加密并已修复.即它对于任何用户都没有改变,它们都使用相同的连接字符串.
当应用程序用户登录时,登录的应用程序标识(Active Directory UPN)随后将传递到数据库以使用以下方法设置正确的用户上下文:
EXECUTE AS USER = 'myuser@mydomain.com' WITH NO REVERT;
Run Code Online (Sandbox Code Playgroud)
然后,用户访问应用程序并仅查看其数据,受行级别安全性的限制.
我的问题是,如何汇集联系?它们是按用户还是按ReaderUser登录(连接字符串)汇集?用户可以使用相同的连接字符串同时从多个应用程序连接.我已经浏览了几篇文章,但我无法对这个具体情况做出明确的解释.任何人都能解释一下吗?
c# sql-server ado.net database-connection azure-sql-database