我正在尝试将查询中的数据导出到安装在Windows Server 2008计算机上的Oracle Enterprise Express的csv文件中.
我找到了这个解决方案:
http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:235814350980
它基本上编写一个函数并使用UTIL_FILE对象来创建和写入文件并添加分隔符.
当我尝试在Oracle SQL Developer中创建函数时收到以下错误:
PLS-00201: identifier UTIL_FILE must be declared.
Run Code Online (Sandbox Code Playgroud)
当我运行以下命令时:
select owner, object_type from all_objects where object_name = 'UTL_FILE'
Run Code Online (Sandbox Code Playgroud)
结果是:
OWNER Object Type
--------- -----------
PUBLIC SYNONYM
Run Code Online (Sandbox Code Playgroud)
编辑:
运行:
GRANT EXECUTE ON UTL_FILE TO PUBLIC
Run Code Online (Sandbox Code Playgroud)
得到:
Error starting at line 2 in command:
GRANT EXECUTE ON UTL_FILE TO PUBLIC
Error report:
SQL Error: ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Run Code Online (Sandbox Code Playgroud)
问题是什么?
我正在使用Eclipse开发Android应用程序.当我正在调试时,事情似乎顺利进行,然后Eclipse似乎挂断了 - 一个"无响应"错误.我查看了日志文件,每隔3秒就会收到此超时错误.有人见过这个吗?
我必须继续重启我的机器.
!ENTRY org.eclipse.jdt.debug 4 125 2014-03-12 10:18:19.417
!MESSAGE Internal error logged from JDI Debug:
!STACK 0
org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 12963.
at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:186)
at org.eclipse.jdi.internal.connect.PacketReceiveManager.getReply(PacketReceiveManager.java:197)
at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:191)
at org.eclipse.jdi.internal.MirrorImpl.requestVM(MirrorImpl.java:226)
at org.eclipse.jdi.internal.VirtualMachineImpl.classesBySignature(VirtualMachineImpl.java:638)
at org.eclipse.jdi.internal.VirtualMachineImpl.classesByName(VirtualMachineImpl.java:667)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.jdiClassesByName(JDIDebugTarget.java:1596)
at org.eclipse.jdt.internal.debug.core.hcr.JavaHotCodeReplaceManager.filterUnloadedTypes(JavaHotCodeReplaceManager.java:348)
at org.eclipse.jdt.internal.debug.core.hcr.JavaHotCodeReplaceManager.notifyUnsupportedHCR(JavaHotCodeReplaceManager.java:379)
at org.eclipse.jdt.internal.debug.core.hcr.JavaHotCodeReplaceManager$2.run(JavaHotCodeReplaceManager.java:322)
at org.eclipse.debug.core.DebugPlugin$AsynchRunner.run(DebugPlugin.java:1068)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.debug.core.DebugPlugin$AsynchRunner.async(DebugPlugin.java:1051)
at org.eclipse.debug.core.DebugPlugin$EventDispatchJob.run(DebugPlugin.java:405)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
!SESSION 2014-03-12 10:30:21.771 -----------------------------------------------
eclipse.buildId=M20130204-1200
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86_64
Run Code Online (Sandbox Code Playgroud) 我试图阻止状态栏扩展,我已经使用了一些人们试图覆盖主页按钮的例子.所有解决方案都指向使用WindowManager.LayoutParams.TYPE_KEYGUARD,我在这里读到,如果使用TYPE_KEYGUARD,最小目标必须小于14.不推荐使用TYPE_KEYGUARD,所以我还需要解决这个问题.它已完全从SDK 21中删除.
问题:什么是变通方法所以我可以覆盖状态栏并将目标构建保持为19?
我有一个像这样的构建项目:
android {
compileSdkVersion 17
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.mycompany.ediary"
minSdkVersion 12
targetSdkVersion 12
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试过这里的建议无济于事.我希望targetSdkVersion为19,但如果我将其更改为19,我会得到IllegalArgumentException.堆栈跟踪:
11-26 13:41:57.963 28667-28667/com.assistek.ediary E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.assistek.ediary, PID: 28667
java.lang.IllegalArgumentException: Window type can not be changed after the window is added.
at android.os.Parcel.readException(Parcel.java:1550)
at android.os.Parcel.readException(Parcel.java:1499)
at android.view.IWindowSession$Stub$Proxy.relayout(IWindowSession.java:903)
at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:5301)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1507)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580) …Run Code Online (Sandbox Code Playgroud) 我刚刚将我的IDE从3.0更新为3.1,并且应用程序右下角不再提供gradle控制台.您在哪里重新定位IntelliJ和Google?
我有一个问题,MainActivity(扩展FragmentActivity)底部的标签栏,当我启动应用程序时,fragment1(在tab1中)和fragment2(在tab2中)将调用onCreateView,并在每个fragent中进行一些加载操作(如扫描某些东西),但是onCreateView当我切换两个标签时,我不知道如何停止呼叫,我只想保持加载状态,即使我从另一个切换.
我该如何实现它(只是使用这种方式,我不想使用tabhost)?
我试图取一个字符串然后返回一个数字1到10的字符串替换为这些数字的单词.例如:
我在10场比赛中赢了7场,获得了30美元.
应成为:
我在十场比赛中赢了七场并获得了30美元.
所以我这样做了:
import org.apache.commons.lang3.StringUtils;
String[] numbers = new String[] {"1", "2", "3","4","5","6","7","8","9","10"};
String[] words = new String[]{"one", "two", "three","four","five","six",
"seven","eight","nine","ten"};
System.out.print(StringUtils.replaceEach(phrase, numbers, words));
Run Code Online (Sandbox Code Playgroud)
结果如下:
我赢了一场比赛中的七场并获得了3美元.
所以我尝试了一种蛮力方式,我确信可以通过正则表达式或更优雅的字符串操作来改进:
public class StringReplace {
public static void main(String[] args) {
String phrase = "I won 7 of the 10 games and received 30 dollars.";
String[] sentenceWords = phrase.split(" ");
StringBuilder sb = new StringBuilder();
for (String s: sentenceWords) {
if (isNumeric(s)) {
sb.append(switchOutText(s));
}
else {
sb.append(s); …Run Code Online (Sandbox Code Playgroud) 我有以下方法:
public class ParentalControlInteractor {
public Single<Boolean> isPinSet() {
return bamSdk.getPinManager().isPINSet();
}
}
Run Code Online (Sandbox Code Playgroud)
我想调用此函数运行一次,然后每分钟重复一次,直到无穷大但这看起来很笨拙:
parentalControlInteractor.isPinSet()
.subscribeOn(Schedulers.io())
.repeat(10000)
.timeout(1600,TimeUnit.MILLISECONDS)
.doOnError(throwable -> {
Timber.e(throwable,"Error getting if Pin is set");
throwable.printStackTrace();
})
.subscribe(isPinSet -> {
this.isPinSet = isPinSet;
Timber.d("Pin is set = " + isPinSet.toString());
});
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?我正在使用RxJava2.此外,上述方法仅调用10000次.我想永远调用它,就像使用Handler.postDelayed()一样.
我有一个非常简单的课程:
class TestClass {
companion object {
fun sampleFunc(value: Int): Int {
return value + 5
}
}
}
Run Code Online (Sandbox Code Playgroud)
和一个非常简单的测试:
@Test
fun `test class`() {
mockkObject(TestClass::class)
every {
TestClass.sampleFunc(any())
} returns 11
assertThat(TestClass.sampleFunc(5)).isEqualTo(11)
}
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
Failed matching mocking signature for
left matchers: [any()]
io.mockk.MockKException: Failed matching mocking signature for
left matchers: [any()]
at io.mockk.impl.recording.SignatureMatcherDetector.detect(SignatureMatcherDetector.kt:99)
at io.mockk.impl.recording.states.RecordingState.signMatchers(RecordingState.kt:39)
at io.mockk.impl.recording.states.RecordingState.round(RecordingState.kt:31)
at io.mockk.impl.recording.CommonCallRecorder.round(CommonCallRecorder.kt:50)
at io.mockk.impl.eval.RecordedBlockEvaluator.record(RecordedBlockEvaluator.kt:59)
at io.mockk.impl.eval.EveryBlockEvaluator.every(EveryBlockEvaluator.kt:30)
at io.mockk.MockKDsl.internalEvery(API.kt:92)
at io.mockk.MockKKt.every(MockK.kt:104)
Run Code Online (Sandbox Code Playgroud)
MockK 版本:1.9.3 操作系统:mac Kotlin 版本:1.5.21 JDK 版本:11 JUnit 版本:4.12
任何想法?我也尝试过mockkStatic,结果相同。
我在一家主要银行的网络上,并且尝试从Windows 7计算机连接到SVN存储库。我正在使用最新版本的Tortoise(截至昨天)64位客户端。
当我尝试使用回购浏览器进行连接时,我可以使用自己的凭据登录,但是随后出现错误消息:“无法建立连接,因为目标计算机主动拒绝了连接。”
我网络中的其他人都可以连接到存储库。网络之外的其他人能够使用我的凭据登录到存储库。我还尝试使用超级用户凭据登录并出现相同的错误。
我禁用了病毒防护软件,但仍然得到了相同的结果。
我尝试从命令行访问,但仍然得到相同的结果。
我确定这是配置计算机或网络的方式,但是我不是网络人员,所以我不知道如何解决此问题。
我需要在java中找到一个类似的光滑方式来做多字符串替换,就像在php中使用str_replace一样.
我想取一个字符串然后返回一个数字1到10的字符串替换为这些数字的单词.
"我在10场比赛中赢了7场,获得了30美元." =>"我赢了十场比赛中的七场并获得了30美元."
在PHP中,你可以这样做:
function replaceNumbersWithWords($phrase) {
$numbers = array("1", "2", "3","4","5","6","7","8","9","10");
$words = array("one", "two", "three","four","five","six","seven","eight","nine","ten");
return str_replace($numbers,$words,$phrase);
}
Run Code Online (Sandbox Code Playgroud)
我不确定是否有一种优雅的方法可以在String.replace()的特殊情况下使用正则表达式,我不想使用我认为是蛮力的方法来做到这一点:就像这里: 如何用Java替换单个字符串中的多个单词?.